04-默认参数

2019-02-04  本文已影响7人  _东阁堂主_

写在前面

听说过函数有默认值吗,想了一下,脑袋一团浆糊,好,今天来认识一下

名词解释

 C++允许函数设置默认参数,在调用时可以根据情况省略实参。规则如下:
 默认参数只能按照右到左的顺序
 如果函数同时有声明、实现,默认参数只能放在函数声明中
 默认参数的值可以是常量、全局符号(全局变量、函数名)

码上封口

将main.m 改为mian.mm 文件
#include <iostream>
using namespace std;

void display(int a = 10, int b = 20) {
    cout << "a is " << a << endl;
    cout << "b is " << b << endl;
}

int main() {
    display();
    display(1);
    display(1,3);
}

看下打印结果:
a is 10
b is 20
a is 1
b is 20
a is 1
b is 3
是不是很厉害的样子,嗯嗯,当时我也是这么想的。

注意点

在文件里是不是可以重载一下函数,定义两个函数
void display(int a = 10) {
    cout << "a is " << a << endl;
}
void display() {
    cout << "display() " << endl;
}
此时会发现
display();
display(1);
这两个函数调用会报错"Call to 'display' is ambiguous",
这就是函数二义性,导致编译器不知道调用哪一个,建议优先选择使用默认参数。
可对比下第二讲的函数重载部分。

完整代码demo,请移步GitHub:DDGLearningCpp

当然C++大神就绕吧,非喜勿喷,毕竟这是个人的学习笔记📒

上一篇 下一篇

猜你喜欢

热点阅读