予跨越this question來到關於底層類型枚舉的,其中一個答案引用標準C++ 7.2/5:如果枚舉不適合整型,會發生什麼?
基礎類型枚舉的是,可以表示所有在所定義的枚舉值的整體式枚舉。它是實現定義的,其整數類型用作枚舉的基礎類型,除非基礎類型的大小不能大於int,除非枚舉器的值不適合int或unsigned int。
這對於所有合理的情況都很明顯。 但是如果我把一個枚舉如此可笑地大到甚至不能適應很長時間會發生什麼呢?
(我不知道爲什麼會不斷在實踐中發生的,但也許我感覺破壞性的,有一個免費的下午)
這種行爲是由標準定義的?
如果你製作一個很大的枚舉,你的源文件將不適合在磁盤上:-) – dasblinkenlight
我在構想一個真正令人震驚的頭文件,在枚舉中有超過2^64個名字。這不行嗎? – Bear
設計它非常簡單,請參閱我的答案。 – Bathsheba