gpt4 book ai didi

C++ 11 : decltype behaviour of T and T& derivation [ behaviour distinction between both ]

转载 作者:行者123 更新时间:2023-11-28 04:58:37 29 4
gpt4 key购买 nike

<分区>

int i = 12;

decltype(i) x4; // type is int

decltype((i)) x5; // type is int&

我们从 C++ 基础知识中知道 i 已经是 lvaue。现在 decltype(i) 等于表达式 i 的类型,它自然是 int。现在根据规范/标准 (i) 也是一个左值并且 decltype((i)) 也应该以某种方式检查表达式的类型 (i) 是左值,与 i 相同,也是左值。但是为什么标准突然要求 T& type 呢?

这很令人困惑。因为如果它是 decltype((i)&) 那么我同意这意味着 int&decltype 会更加清晰和精确。我有点迷惑为什么 i(i) 都解析为左值类型导致不同类型的 TT&.

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