代码之家  ›  专栏  ›  技术社区  ›  user195488

枚举元素限制

  •  8
  • user195488  · 技术社区  · 14 年前

    是否有允许的最大数量 enum C++中的元素?

    (问题来源于我之前关于 defines )

    3 回复  |  直到 14 年前
        1
  •  11
  •   GManNickG    14 年前

    没有任何指定的最大值或最小值,这取决于您的实现。但是,请注意,附件B规定:

    _)单个枚举中的枚举常量[4096]。

    作为建议。但这完全是一个建议,而不是一个要求。

        2
  •  4
  •   T.E.D.    14 年前

    语言没有指定任何这样的东西。但是,编译器可能有限制。你必须检查你的编译器文档。

        3
  •  1
  •   jdehaan    14 年前

    在C的情况下,枚举只是一个更好的范围集 #define s.标准C中的任何详细含义:枚举值是

    与兼容的类型 实现定义了 积分类型。

    我的猜测是C++有类似的定义,C++0x增加了一些打字的可能性。所有这些都意味着你可以拥有的数量在理论上受到基础类型的限制(不管它是什么? int 我想,大多数时候,关于这一点,C标准还不够明确)。但在设置数百万个符号之前,您的编译器将崩溃或可能耗尽内存。