std::string &func(int vlu)
{
std::string str;
str = std::to_string(vlu) + "something";
return str;
}
上面的功能显然是不安全的。
以下是另一个版本。
std::string &func(int vlu)
{
return std::to_string(vlu) + "something";
}
我有一些问题:
第二个版本的编译器(gcc)没有给我任何警告。安全吗?我只是认为编译器(或什么?)会创建一个临时变量来保存表达式的返回std::to_string(vlu) + "something"
。所以第二个版本也是不安全的。我对吗?