默认实参

string screen(int height = 24, int width = 80, char backgroud = ' ');

其中我们为每个形参提供了默认实参, 默认实参作为形参的初始值出现在形参列表中。我们可为一个或多个形参定义默认值,不过需要注意的是,一旦某个形参被赋予了默认值,它后面的所有形参都必须有默认值。

默认实参仅可在声明中使用,在函数定义时不能改变默认实参

声明是用户可以看到的部分,客户非常信任地使用这个特性,希望得到一定的结果,但是你在实现里使用了不同的缺省值,那么将是灾难性的。因此编译器禁止声明和定义时同时定义缺省参数值。

类的成员函数的参数表在声明时默认参数位于参数表右部,如int fn(int a,int b=0,int c=5)之类的,但在它定义的时候则不能加默认参数,只能写int fn(int a,int b,int c);

若声明时没有定义缺省参数值,那么在定义成员函数时可以定义缺省参数值。但这种情况通常用户是看不见的,因此应避免。

对于非类中的函数,在函数声明中定义默认参数的另外一个好处时,可以利用声明来随意更改默认参数的值。

传引用调用

传值调用

指针引用,属于传值调用的一种

使用引用避免拷贝:拷贝大的类类型对象或者容器对象比较低效,甚至有的类类型根本就不支持拷贝操作。如果函数无需改变引用形参的值,最好将其声明为常量引用。

发布了21 篇原创文章 · 获赞 0 · 访问量 9498

猜你喜欢

转载自blog.csdn.net/qq_40230900/article/details/89015808