考虑函数
const std::string f()
{
return "hello";
}
和电话
std::string x = f();
不管值返回类型是否应该是 const,返回值是 const 的事实是否会阻止编译器执行返回值优化?
我对RVO的理解是,返回的对象直接构造到函数外的变量中。但是,如果返回类型是const T
,这与 a 不同T
,那么 RVO 会被阻止吗?
考虑函数
const std::string f()
{
return "hello";
}
和电话
std::string x = f();
不管值返回类型是否应该是 const,返回值是 const 的事实是否会阻止编译器执行返回值优化?
我对RVO的理解是,返回的对象直接构造到函数外的变量中。但是,如果返回类型是const T
,这与 a 不同T
,那么 RVO 会被阻止吗?