C++ 函数高级特性深度解析
1. 函数默认参数
默认参数是在函数调用时,如果对应参数缺失,则使用的值。以下是一个示例:
#include <iostream>
int g = 20;
void test(int a, int b = 10, int *p = &g);
int main()
{
int i = 25;
test(5);
test(5, 15);
test(5, 15, &i);
return 0;
}
void test(int a, int b, int *p)
{
std::cout << a+b+(*p) << '\n';
}
在这个例子中,第一次调用 test() 时,由于没有为第二个和第三个参数传递值,所以使用默认值。即 b 初始化为 10, p 指向 g 的地址, test() 输出 35。第二次调用仅为第三个参数使用默认值, test() 输出 40。第三次调用不使用默认值, test() 输出 45。
需要注意的是,如果一个参数被声明有默认值,那么其右边的所有参数也必须声明有默认值。例如,以下声明是不允许的:
void test(int a, int b = 10,
超级会员免费看
订阅专栏 解锁全文
2223

被折叠的 条评论
为什么被折叠?



