予跨越this question来到关于底层类型枚举的,其中一个答案引用标准C++ 7.2/5:如果枚举不适合整型,会发生什么?
基础类型枚举的是,可以表示所有在所定义的枚举值的整体式枚举。它是实现定义的,其整数类型用作枚举的基础类型,除非基础类型的大小不能大于int,除非枚举器的值不适合int或unsigned int。
这对于所有合理的情况都很明显。 但是如果我把一个枚举如此可笑地大到甚至不能适应很长时间会发生什么呢?
(我不知道为什么会不断在实践中发生的,但也许我感觉破坏性的,有一个免费的下午)
这种行为是由标准定义的?
如果你制作一个很大的枚举,你的源文件将不适合在磁盘上:-) – dasblinkenlight
我在构想一个真正令人震惊的头文件,在枚举中有超过2^64个名字。这不行吗? – Bear
设计它非常简单,请参阅我的答案。 – Bathsheba