簡體   English   中英

const類型到C ++ 11中的const別名

[英]const type to const alias in C++11

我正在使用包含在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. 不允許using const
  3. 這是一些特例。
  4. 這是編譯器錯誤。

標准的預期行為是什么?

這已經被C ++ 98所允許 - cv-qualifiers可以通過typedef名稱和模板參數多次引入 - 它們只是簡單地折疊了。 如果不允許這樣做,通用代碼會有很多問題。 引用也是如此。

§7.1.6.1 [dcl.type.cv] p1

有兩個cv限定符constvolatile [...]
冗余的cv資格被忽略。 [ 注意:例如,這些可以由typedef引入。 - 尾注 ]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM