本章主要内容:
1)内联函数(替代宏代码段)
2)默认参数
3)占位参数
----
1.C++的内联函数分析
1.1讲解内联函数之前,首先回忆下之前讲的define宏定义:
之前讲过宏定义会经过预处理器进行文本替换...,缺点就在于没有类型检查,没有任何编译过程,编译器根本不知道类型是什么....所以,C++中,当需要某个类型的常量时,可以使用const常量来替代宏常数,如:
const int A=3; #define A 3
1.2那如果#define 定义的是宏代码段...(++a) : b ) );
从而a被加了两次,所以输出结果为7.
1.3所以C++便添加了内联函数来代替宏代码段
内联函数用inline关键字声明,比如上面的MAX(A,B)宏,则可以替换为:
inline...内联函数:就会在每次调用的地方,将内联函数里的代码段”内联地”展开,所以省去了额外的开销
注意:当内联函数里的代码过多,且流程复杂时,编译器可能会拒绝该函数的内联请求,从而变成普通函数
2.函数的参数默认值