gpt4 book ai didi

c++ - 枚举成员类型是否仍然依赖于实现?

转载 作者:行者123 更新时间:2023-11-30 01:53:56 25 4
gpt4 key购买 nike

我读过一些关于 C++11 的文章,但没有一篇提到枚举成员的依赖于实现的大小是否保持不变。

  1. 还是这样吗?
  2. 如果是,使用 enum class Token : int { ... }; 明确强制编译使它们成为 int 类型是否是一个好习惯?

最佳答案

如果您没有为无作用域的枚举指定类型,则该类型是实现定义的,并且它可以是能够表示所有枚举器值的任何类型(如果没有这种类型,则程序格式错误) .这与 C++11 之前的所有枚举的行为相同。

如果您没有为作用域枚举指定类型,则它具有固定类型 int。如果需要,您可以明确说明类型,但我认为这通常不是最佳做法。

关于c++ - 枚举成员类型是否仍然依赖于实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22621105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com