MBZ*_*MBZ 7 c++ declaration function-declaration c++11
这两个功能有什么区别?
auto func(int a, int b) -> int;
int func(int a, int b);
Run Code Online (Sandbox Code Playgroud)
Die*_*ühl 10
除了符号之外,上述情况没有任何区别.当您想要引用一个或多个参数来确定函数的返回类型时,替代函数声明语法变得很重要.例如:
template <typename S, typename T>
auto multiply(S const& s, T const& t) -> decltype(s * t);
Run Code Online (Sandbox Code Playgroud)
(是的,这是一个愚蠢的例子)
这两个声明之间没有任何有用的区别; 两个函数都返回一个int.
C++ 11的尾随返回类型对带template参数的函数很有用,其中返回类型在编译时才知道,例如在这个问题中:如何正确编写尾随返回类型?
| 归档时间: |
|
| 查看次数: |
1613 次 |
| 最近记录: |