如果从函数返回prvalue表达式,并且prvalue表达式的类型与函数的返回类型相同,则可以忽略prvalue临时对象的副本:
std::string func() { return std::string("foo"); }
在这种情况下,几乎所有编译器都将忽略临时构造。