Ste*_*ini 8 c++ const reference default-arguments
void doStuff( std::string const & s1, std::string const & s2="");
我想知道这个代码在C++中是否合法,对于s2字符串.我希望有一个默认参数,但是传递一个引用并且默认为空字符串.是否会临时创建,引用会指向那个临时的,还是非法的C++?
bil*_*llz 13
是的,这是合法的.const将确保临时持续到功能doStuff完成.
const
doStuff
§12.2.5
函数调用(5.2.2)中的引用参数的临时绑定将持续到包含该调用的完整表达式完成为止.
归档时间:
12 年,7 月 前
查看次数:
3376 次
最近记录:
6 年,7 月 前