默认参数和占位参数
2016-02-21 18:46
218 查看
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; } |
相关文章推荐
- static静态变量分析
- 执行shell脚本提示“syntax error near unexpected token for((i=0;i<$length;i++))”
- python的列表,元组和字典简单介绍
- 【小镇的技术天梯】Scapy学习日记(三)
- 操作系统(死锁)
- LeetCode OJ - Search for a Range
- 深入浅出-iOS的TCP/IP协议族剖析&&Socket
- Redis消息队列发布微博
- os_prio.c
- 1029. 旧键盘(20)
- javascript之猜数小游戏
- 一种简单的数字图像复制粘贴(Copy—Move)检测
- deque双向队列(转)
- iOS中Container View Controller的使用
- Android之Spinner选中列表数据不显示数据问题
- Linux Hook 笔记
- Ready List
- 【转载】优先队列详解
- PHP MySQL Delete From 之 Delete
- 为什么有些人出3倍薪资也挖不走?