当一个函数使用时有标准,常常都是相同的实参的时候,可以使用默认实参。
使用方法:
-
声明
const string& shorterString(const string& s1="abcd", const string& s2);//错误,一个有默认参数,所有的都要有
const string& shorterString(const string& s1="abcd", const string& s2="cdef");//正确
声明一般在头文件中,声明可以多次声明,但是不能更改第一次声明时的默认实参例如对上述默认参数更改:
const string& shorterString(const string& s1="abcd", const string& s2="nnmm");//错误不能更改默认参数
-
默认实参函数使用时,可以省略后面的参数
string &ans=const_cast<string&>(shorterString());//省略两个参数 string &ans=const_cast<string&>(shorterString("jinnbe"));//省略一个参数 string &ans=const_cast<string&>(shorterString("adsef","sdwefds"));//不省略参数
注意:当一个形参使用了默认实参之后,所有的形参都要使用默认形参。