【发布时间】:2013-06-24 10:17:23
【问题描述】:
我了解到以这种方式使用 auto 声明变量
auto var = expr;
基本上就像采用 expr 的类型并从中剥离 &/&&-references 以及所有顶级常量和易失性。这是否意味着上面的行完全等同于下面的?
std::remove_cv<std::remove_ref<decltype(expr)>::type>::type var = expr;
【问题讨论】:
-
你可能会喜欢 C++14 中即将推出的
decltype(auto):-) -
@KerrekSB 你能提供更多细节吗?
-
这是
auto的类型推导结合decltype的引用语义——如decltype(auto) x = foo();。