看一下enum文档,我注意到了一件事:
枚举 - 一个
enum,enum class(自C++ 11以来),或enum struct(自C++ 11以来)
enum而且enum class,当然,但是什么是enum struct?
文档似乎说enum class并且enum struct完全相同:
[...] 范围枚举(使用枚举键 声明
enum class或enum struct)
enum struct|class名称{ enumerator = constexpr , enumerator = constexpr , ... }- [...]
他们真的完全一样吗?或者我错过了什么差异?对同一件事有两种不同的语法有什么意义(如果它们是相同的)?
Ale*_*exD 19
enum class并且enum struct是相同的(强调我的).
7.2枚举声明
...
2 ....的枚举密钥enum class和enum struct是语义上等同 ; 用这些中的一个中声明的枚举类型是一个范围的枚举,其枚举的作用域枚举.
eer*_*ika 11
enum class当然,但是什么是enum struct?
与...相同enum class.
他们真的完全一样吗?
是.文档是正确的.
或者我错过了什么差异?
不,没有区别.
对同一件事有两种不同的语法有什么意义(如果它们是相同的)?
我没有找到任何书面合理化的决定.标准和提案中没有任何内容.有人可能会猜测它class与vs struct-key键有某种对应关系.这是template<class T>在指定语法时做出的相反决定,struct不允许这样做.
| 归档时间: |
|
| 查看次数: |
8529 次 |
| 最近记录: |