在 C++ 中,您可以编写如下所示的 return 语句:
return ( ... );
这与更流行的不同:
return ... ;
特别是第一个版本返回包含该 return
语句的函数堆栈的局部地址/引用。
现在为什么有些东西想要返回对当时没有生命周期的东西的引用?
这个成语的用例是什么?考虑到 C++11 和 C++14 的新流行语和特性,这有不同的用法吗?
最佳答案
形式为return expression;
表达式可以是任何东西,包括带括号的表达式。
这些不是不同的形式返回,但是,一起
使用 decltype(auto)
将推导出不同的类型。
关于C++11/14 和 return( ... ) 与 return,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24121708/