假设我有以下函数:
#include <string>
std::string const foo()
{
std::string s = "bar";
return s;
}
int main()
{
std::string t = foo();
}
即使 s
和 t
的类型与 foo
的返回类型不同,由于 const
差异,编译器是否可以对 t
执行(命名)返回值优化?
(如果 C++03 和 C++11 的答案不同,那么我肯定有兴趣了解 C++03 的答案。)