与常规枚举相比,C++枚举结构(类)的大小是否更大?即什么转换为更多字节的指令代码假设它们枚举相同的确切数据?
我正在嵌入式环境中开发,这个问题有点重要.我喜欢使用枚举结构允许的类型安全和范围,但不是代价膨胀.
没有.
语义的差异由编译器管理,因为它只与类型系统有关.
没有理由需要更多存储空间,或者需要更多指令.
您可以使用在实际类型上轻松查看前者sizeof.
但是,我应该注意C++不保证任何此类类型的布局,除了说两个共享相同底层类型的枚举类型是"layout-compatible"([C++14: 7.2/9]).