C++ primer 学习(四)

来源:互联网 发布:深圳奥萨制药 知乎 编辑:程序博客网 时间:2024/05/01 01:04

函数:默认实参

如果一个形参具有默认实参,那么,它后面的所有形参都必须有默认实参。

int func(int a=0, int b=1, int c=2)

如果是
int func(int a=0, int b, int c=2)或者int func(int a=0, int b, int c)等都是错误的。

函数调用的实参按位置解析,默认实参只能用来替换函数调用缺少的尾部实参。

int func(int a=0, int b=1, int c=2)
若有:func(10, 11)//则表示func(10, 11, 2)

设计带有默认实参的函数,排列形参,使最少使用的默认实参的形参排在最前,最可能使用的默认实参的形参排在最后
通常,应在函数声明中指定默认实参,并将该声明放在合适的头文件中。
函数调用的实参按位置解析,默认实参只能用来替换函数调用缺少的尾部实参。

既可以在函数声明也可以在函数定义中指定默认实参。但是,在一个文件中,只能为一个形参指定默认实参一次。通常,应在函数声明中指定默认实参,并将该声明放在合适的头文件中。如果在函数定义的形参表中提供默认实参,那么只有在包含该函数定义的源文件中调用该函数时,默认实参才是有效的


函数调用的实参按位置解析,默认实参只能用来替换函数调用缺少的尾部实参。
原创粉丝点击