gpt4 book ai didi

c++ - C++11 中的 const 类型到 const 别名

转载 作者:行者123 更新时间:2023-11-30 02:54:46 25 4
gpt4 key购买 nike

我正在使用 Xcode 4.6.2 (4H1003) 中包含的 Clang。

Apple LLVM version 4.2 (clang-425.0.28) (based on LLVM 3.2svn)

目前我的编译器不会对这段代码产生编译错误。

using AA = int const;
static AA const aa = 0;

因为我不熟悉准确的 C++11 规范,所以我不知道什么是正确的行为。

  1. const 关键字错误。
  2. const using 是不允许的。
  3. 这是一些特殊情况。
  4. 这是编译器错误。

标准的预期行为是什么?

最佳答案

这在 C++98 中已经被允许——cv 限定符可以通过 typedef 名称和模板参数多次引入——它们只是被折叠了。如果不允许这样做,通用代码就会有很多问题。引用也会发生同样的事情。

§7.1.6.1 [dcl.type.cv] p1:

There are two cv-qualifiers, const and volatile. [...]
Redundant cv-qualifications are ignored. [ Note: For example, these could be introduced by typedefs.—end note ]

关于c++ - C++11 中的 const 类型到 const 别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16856596/

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