C++中的const常量可以替代宏常数定义,如: const int A = 3; è #define A 3 C++中是否有解决方案替代宏代码片段呢?(替代宏代码片段就可以避免宏的副作用!) |
C++中推荐使用内联函数替代宏代码片段 C++中使用inline关键字声明内联函数 |
内联函数声明时inline关键字必须和函数定义结合在一起,否则编译器会直接忽略内联请求。 |
默认参数 |
C++中可以在函数声明时为参数提供一个默认值, 当函数调用时没有指定这个参数的值(或根本没指定参数),编译器会自动用默认值代替
|
函数默认参数的规则 只有参数列表后面部分的参数才可以提供默认参数值 一旦在一个函数调用中开始使用默认参数值,那么这个参数后的所有参数都必须使用默认参数值
|
函数占位参数 |
/* 函数占位参数 占位参数只有参数类型声明,而没有参数名声明 一般情况下,在函数体内部无法使用占位参数 */ |
int func(int a, int b, int ) { return a + b; }
int main01() { printf("func(1, 2, 3) = %d\n", func(1, 2, 3));
printf("Press enter to continue ..."); getchar(); return 0; }
|
默认参数和占位参数混搭风 |
/* 可以将占位参数与默认参数结合起来使用 意义 为以后程序的扩展留下线索 兼容C语言程序中可能出现的不规范写法 */
//C++可以声明占位符参数,占位符参数一般用于程序扩展和对C代码的兼容 |
int func(int a, int b, int = 0) { return a + b; }
int main66() { printf("func(10, 20) = %d\n", func(10, 20));
printf("Press enter to continue ..."); getchar(); return 0; } |
默认参数和占位参数
最新推荐文章于 2024-07-07 21:14:57 发布