C++11/14 和 return( ... ) 与 return

标签 c++ c++11 c++14 decltype type-deduction

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/

相关文章:

C++ 在新字符上删除 [];

c++ - 如何使用 Imebra 库修改 DICOM 文件中的图像像素?

c++ - 大括号初始值设定项列表中是否允许显式转换运算符?

c++ - 在此代码中,new 创建的指针在哪里被删除?

c++ - 将类型名传递给 lambda 最简洁的方法是什么?

c++ - IMFMediaSink,如何设置编码器属性?

c++ - 他们是一种编译项目的方法,以便您的所有功能类等。进入一个可以链接的文件?

c++ - 从 C++11 中的容器元组中提取 value_type 的元组

c++ - 我可以在这里使用模板特化或类型强制吗?

c++ - std::unordered_set::equal_range 迭代器问题