繁体   English   中英

C ++ 11:标准ref,用于在常量和引用类型上执行auto的操作

[英]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);

因此,在您的示例中,所有变量x11x23的类型都推导为T

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM