Kel*_*ain 25 c++ c++11 trailing-return-type
如何在C++ 11中解释下面的成员函数原型?
class C {
public:
auto f(...) -> T const;
}
Run Code Online (Sandbox Code Playgroud)
在我看来,它既可以是类C的const成员函数,也可以是非const成员函数,它返回类型为T的const值.
我知道我可以把函数写成
T const f(...);
Run Code Online (Sandbox Code Playgroud)
要么
T f(...) const;
Run Code Online (Sandbox Code Playgroud)
但是,我希望与我声明函数的方式保持一致,因此我决定在auto f(...) -> RetType任何地方使用新的C++ 11 方法.
Xeo*_*Xeo 29
trailing-return-type出现在非静态成员函数的cv-和ref-qualifiers之后.这意味着问题中的示例与之相同T const f(...);.
§8.4.1 [dcl.fct.def.general] p2
函数定义中的声明符应具有该形式
D1(parameter-declaration-clause)cv-qualifier-seq opt ref-qualifier opt exception-specification opt attribute-specifier-seq opt trailing-return-type opt
要声明一个const成员函数,你要写auto f(...) const -> T const;.
| 归档时间: |
|
| 查看次数: |
282 次 |
| 最近记录: |