请看来自此处底部的引用内容。(我相信关于
const
的评论同样适用于invariant
)
因此,显然枚举与常量不同之处在于,它们不会在最终输出的对象/库/可执行文件中占用任何空间,而常量会。
value1
会使可执行文件膨胀,而value2
则被视为字面值,不会出现在对象文件中。const int value1 = 0xBAD;
enum int value2 = 42;
在 C++ 中,我一直认为这是出于遗留原因和旧编译器不能优化常量的原因。但如果 D 语言仍然如此,那么其背后必定有更深层次的原因。有人知道吗?