gpt4 book ai didi

C++11: `auto` 对 const 和引用类型的操作的标准引用

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:30:46 25 4
gpt4 key购买 nike

假设我有一个类型 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 auto specifier 中。在您的函数返回类型示例中,模板参数推导规则适用。

从标准中引用相关示例:

const auto &i = expr;

The type of i is the deduced type of the parameter X in the call f(expr) of the following invented function template:

template <class AUTO> void f(const AUTO& X);

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

关于C++11: `auto` 对 const 和引用类型的操作的标准引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12242449/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com