[英]C++11: Standard ref for action of `auto` on const and reference types
假设我有一个T型:
typedef ... T;
然后我有这些功能:
T f11();
T& f12();
T&& f13();
const T f21();
const T& f22();
const T&& f23();
然后这样称呼他们:
auto x11 = f11();
auto x12 = f12();
auto x13 = f13();
auto x21 = f21();
auto x22 = f22();
auto x23 = f23();
可以从C ++ 11标准的哪些部分/条款中推导出x11..x23的等效非自动声明?
在§7.1.6.4 自动说明符中 。 在函数返回类型的示例中,适用模板引数的规则。
从标准中引用相关示例:
const auto &i = expr;
i
的类型是以下发明函数模板的调用f(expr)
中参数X的推导类型:
template <class AUTO> void f(const AUTO& X);
因此,在您的示例中,所有变量x11
至x23
的类型都推导为T
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.