经过3月13日至今日的学习,对C++初识模块进行了博客总结,现对其进行整体的知识点总结:
[C++系列] 1. C++初识
[C++系列] 2. C++关键字、命名空间、输入与输出
[C++系列] 3. C++缺省参数
[C++系列] 4. C++函数重载
[C++系列] 5. C++引用
[C++系列] 6. C++内联函数
[C++系列] 7. C++auto关键字(C++11)
[C++系列] 8. C++基于范围的for循环(C++11)
[C++系列] 9. C++指针空值nullptr (C++11)
1)命名空间:为了解决函数、变量名冲突,重定义问题。
2)输入、输出:cin、cout,不需要指定变量的类型。
3)缺省参数:在函数定义或声明时给其参数一个默认值。其中,半缺省即默认值必须从右向左依次赋值,中间不能有间隔。
4)函数重载:在C语言中不支持,在C++语言中支持,原因是在底层有函数名修饰规则的不同。而C语言函数名在底层仅有一个下划线进行区分,无法针对参数列表不同的函数能被唯一区分。而C++在函数名修饰时加入了参数列表的信息,可以通过不同的参数列表调用不同的函数体,从而实现函数重载。
5)引用:在语法层面为变量的别名,与引用实体使用同一个内存空间,但在底层实现上以指针进行实现,在使用时暂且当做未开辟单独空间即可。其与指针有许多区别的地方:有空指针但没有空引用、sizeof的不同、++操作也不相同。
6)内联函数:替代宏函数,更加安全易懂。
7)auto关键字:它是一个类型的单位符,不能代表一个实际的类型,需要通过初始化表达式进行推导。参数、数组不能通过auto进行声明,因为无法确定推导出其实际类型。
8)范围for循环:对于有确定范围的集合可以通过基于范围的for循环更加安全的去做访问、遍历等操作,不会进行越界等不安全操作。
9)nullptr:其为C++中的关键字,不需要包含任何头文件,能提高代码的健壮性。