默认实参
2023年12月15日 2023年12月15日
default argument
有时, 无意外情况, 多次调用某函数, 为某个形参传入相同值
可以为这类形参设置默认实参, 函数调用时, 省略该形参对应的实参
注意
- 一旦为某个形参设置了默认实参,它后面的所有形参都必须拥有默认实参
1typedef string::size_type sz; 2string screen(sz ht = 24, sz wid = 80, char backgrnd = ' ');
- 只能省略尾部的实参
1string window; 2window = screen(66); // 等价于screen(66, 80, ' ');
- 如果想覆盖backgrnd值, 则必须为ht和wid提供实参
1window = screen(, , '?'); // 错误 2window = screen('?'); // 等价于screen('?', 80, ' '); char可以转换为sz