c ++ 11:枚举成员初始化

zzz777

我有一个定义如下的类

struct X {
    X() : data() {}

    int data;

    enum class Zzz : int { zero, one, two };
    Zzz  zzz;
};
...
X xval;

xval.zzz的值是什么-未定义或X :: Zzz.zero?我知道它对于常规枚举将是不确定的,并且我想知道类型枚举的行为是否有所不同。

拔示巴

它尚未初始化。

由于支持类型为,int并且可以包含陷阱表示,因此xval.zzz初始化之前的read不确定(出于兴趣,如果所述背衬类型是charunsigned char,或signed char,则行为将是仅仅实现定义。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章