内联函数
概念:inline修饰的函数称为内联函数,编译器编译时会进行函数指令的展开,没有栈帧的开销,可以提高代码的效率。
使用局限:
1、内联函数只针对比较简单的函数,针对复杂函数也不会展开,所以当代码很长或者有循环或递归的时候不适宜用内联函数;
2、inline声明和定义放在一个地方,否则会链接错误;
auto关键字
在C++中,auto的作用是自动类型推导,不代表某一具体类型,编译时编译器会根据初始化表达式自动进行推导。
例如
auto a = 1;
auto b = 2.0;
auto c = 'a';
使用规则:
1、auto定义的变量必须进行初始化;
2、auto在定义多个变量时,每个表达式的类型必须一致;
3、函数参数和数组不能使用auto;
4、auto定义指针时,加不加*没有任何区别;但是定义引用时,必须加&;
范围for
写法:
for(要迭代的变量:迭代的范围)
范围for的使用条件:迭代的范围必须是确定的
例
int array[5] = { 1, 2, 3, 4, 5};
for(auto& e : array)
{}
指针空值nullptr
在C语言中,NULL缺省为一个int类型的0值而不是指针空值,所以在C++中使用了nullptr为指针空值。
nullptr可以隐式转换成任意指针类型,并且不需要加头文件。