void fn(string &s)
{
//....
}
//use the function
fn("helloworld");
首先,使用 const char 字符串启动非常量字符串是错误的。
在参数中添加 const 后,它会编译。
但是在堆栈上引用临时对象字符串(“helloworld”)是否正确?
确定调用了 string("helloworld") 吗?
--
编辑。
如果创建了临时字符串,编译器如何从std::string(const char*)的构造函数判断对象string("helloworld")是const?