与常规枚举相比,c ++枚举结构的大小是否更大?

Yot*_*tam 4 c++ enums

与常规枚举相比,C++枚举结构(类)的大小是否更大?即什么转换为更多字节的指令代码假设它们枚举相同的确切数据?

我正在嵌入式环境中开发,这个问题有点重要.我喜欢使用枚举结构允许的类型安全和范围,但不是代价膨胀.

Lig*_*ica 9

没有.

语义的差异由编译器管理,因为它只与类型系统有关.

没有理由需要更多存储空间,或者需要更多指令.

您可以使用在实际类型上轻松查看前者sizeof.

但是,我应该注意C++不保证任何此类类型的布局,除了说两个共享相同底层类型的枚举类型是"layout-compatible"([C++14: 7.2/9]).