enum整数值的赋值规则是什么?

2024-03-10

假设我这样编码:

enum State{
    State0,                //=0
    State1,                //=1
    State2,                //=2
    State5 = State2+3,     //=5
    State6 = State5+1,     //=6
    StateSize = State6+1   //=7
};

我可以在多大程度上依赖事实(例如StateSize==7)?

更具体地说,确定它们的值的 C++ 法则/规则是什么?

我觉得SO中可能有一个关于这个的问题,但我找不到它。


引用自cppreference.com http://en.cppreference.com/w/cpp/language/enum

如果第一个枚举器没有初始值设定项,则关联值为零。对于其定义没有初始值设定项的任何其他枚举数,关联的值是前一个枚举数的值加一。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

enum整数值的赋值规则是什么? 的相关文章

  • Qt-Qlist 检查包含自定义类

    有没有办法覆盖加载自定义类的 Qt QList 的比较机制 即在 java 中你只需要重写一个比较方法 我有一个带有我的自定义类模型的 QList QList
  • 获取按下的按钮的返回值

    我有一个在特定事件中弹出的表单 它从数组中提取按钮并将标签值设置为特定值 因此 如果您要按下或单击此按钮 该函数应返回标签值 我怎样才能做到这一点 我如何知道点击了哪个按钮 此时代码返回 DialogResult 但我想从函数返回 Tag
  • C++ 子字符串返回错误结果

    我有这个字符串 std string date 20121020 我正在做 std cout lt lt Date lt lt date lt lt n std cout lt lt Year lt lt date substr 0 4 l
  • 如何忽略“有符号和无符号整数表达式之间的比较”?

    谁能告诉我必须使用哪个标志才能使 gcc 忽略 有符号和无符号整数表达式之间的比较 警告消息 gcc Wno sign compare 但你确实应该修复它警告你的比较
  • WPF 中的调度程序和异步等待

    我正在尝试学习 WPF C 中的异步编程 但我陷入了异步编程和使用调度程序的困境 它们是不同的还是在相同的场景中使用 我愿意简短地回答这个问题 以免含糊不清 因为我知道我混淆了 WPF 中的概念和函数 但还不足以在功能上正确使用它 我在这里
  • C 预处理器库

    我的任务是开发源分析工具C程序 并且我需要在分析本身之前预处理代码 我想知道什么是最好的图书馆 我需要一些重量轻 便于携带的东西 与其推出自己的 为什么不使用cpp这是的一部分gcc suite http gcc gnu org onlin
  • Web API - 访问 DbContext 类中的 HttpContext

    在我的 C Web API 应用程序中 我添加了CreatedDate and CreatedBy所有表中的列 现在 每当在任何表中添加新记录时 我想填充这些列 为此目的我已经覆盖SaveChanges and SaveChangesAsy
  • 使用 System.Text.Json 即时格式化 JSON 流

    我有一个未缩进的 Json 字符串 例如 hash 123 id 456 我想缩进字符串并将其序列化为 JSON 文件 天真地 我可以使用缩进字符串Newtonsoft如下 using Newtonsoft Json Linq JToken
  • for循环中计数器变量的范围是多少?

    我在 Visual Studio 2008 中收到以下错误 Error 1 A local variable named i cannot be declared in this scope because it would give a
  • clang 实例化后静态成员初始化

    这样的代码可以用 GCC 编译 但 clang 3 5 失败 include
  • 从库中捕获主线程 SynchronizationContext 或 Dispatcher

    我有一个 C 库 希望能够将工作发送 发布到 主 ui 线程 如果存在 该库可供以下人员使用 一个winforms应用程序 本机应用程序 带 UI 控制台应用程序 没有 UI 在库中 我想在初始化期间捕获一些东西 Synchronizati
  • Discord.net 无法在 Linux 上运行

    我正在尝试让在 Linux VPS 上运行的 Discord net 中编码的不和谐机器人 我通过单声道运行 但我不断收到此错误 Unhandled Exception System Exception Connection lost at
  • WCF:将随机数添加到 UsernameToken

    我正在尝试连接到用 Java 编写的 Web 服务 但有些东西我无法弄清楚 使用 WCF 和 customBinding 几乎一切似乎都很好 除了 SOAP 消息的一部分 因为它缺少 Nonce 和 Created 部分节点 显然我错过了一
  • 为什么我收到“找不到编译动态表达式所需的一种或多种类型。”?

    我有一个已更新的项目 NET 3 5 MVC v2 到 NET 4 0 MVC v3 当我尝试使用或设置时编译出现错误 ViewBag Title财产 找不到编译动态表达式所需的一种或多种类型 您是否缺少对 Microsoft CSharp
  • const、span 和迭代器的问题

    我尝试编写一个按索引迭代容器的迭代器 AIt and a const It两者都允许更改容器的内容 AConst it and a const Const it两者都禁止更改容器的内容 之后 我尝试写一个span
  • 如何使用 std::string 将所有出现的一个字符替换为两个字符?

    有没有一种简单的方法来替换所有出现的 in a std string with 转义 a 中的所有斜杠std string 完成此操作的最简单方法可能是boost字符串算法库 http www boost org doc libs 1 46
  • ASP.NET MVC 6 (ASP.NET 5) 中的 Application_PreSendRequestHeaders 和 Application_BeginRequest

    如何在 ASP NET 5 MVC6 中使用这些方法 在 MVC5 中 我在 Global asax 中使用了它 现在呢 也许是入门班 protected void Application PreSendRequestHeaders obj
  • C 中的异或运算符

    在进行按位操作时 我在确定何时使用 XOR 运算符时遇到一些困难 按位与和或非常简单 当您想要屏蔽位时 请使用按位 AND 常见用例是 IP 寻址和子网掩码 当您想要打开位时 请使用包含或 然而 XOR 总是让我明白 我觉得如果在面试中被问
  • 防止索引超出范围错误

    我想编写对某些条件的检查 而不必使用 try catch 并且我想避免出现 Index Out of Range 错误的可能性 if array Element 0 Object Length gt 0 array Element 1 Ob
  • 恢复上传文件控制

    我确实阅读了以下帖子 C 暂停 恢复上传 https stackoverflow com questions 1048330 pause resume upload in c 使用 HTTP 恢复上传 https stackoverflow

随机推荐

  • JAGS 中缺少预测数据模型

    我正在尝试在 JAGS 中编写最简单的缺失数据模型 一个预测变量 有一些缺失的数据点 和一个结果变量 我知道这个例子不是最有用或最现实的 但它可以帮助我在继续处理更复杂的缺失预测数据场景之前解决模型问题 模型和数据如下 但这是编译错误 Er
  • 动态 UILabel 大小 iOS 7 问题

    我正在尝试根据文本高度动态调整标签大小 UILabel 中的高度可以从 0 行到多行不等 我已经为这个问题提出了一个解决方案 该解决方案在 iOS 8 上运行良好 但在 iOS 7 1 上失败 我也试图支持它 该项目中未使用自动布局 所有约
  • 有限字符池中不存在重复字符的正则表达式

    有没有办法编写正则表达式来匹配仅包含某些字符的字符串 并且从不重复这些字符 我已经使用一组代码编写了一些代码来实现此目的 但想知道是否有正则表达式的方法可以做到这一点 例如 如果我只想要一个包含 A B C 的字符串 并且我想匹配一个从不重
  • 如何弃用 Protocol Buffers 中的整个消息?

    根据文档 https developers google com protocol buffers docs proto 已弃用 字段选项 如果设置为 true 则表示该字段已弃用 并且不应由新代码使用 使用示例 message Foo s
  • sqlalchemy 中 sql LIKE 的反向版本[重复]

    这个问题在这里已经有答案了 我所说的 类似的反向版本 是指完全一样这个问题 https stackoverflow com questions 472063 mysql what is a reverse version of like 问
  • django haystack 自定义表单

    我正在尝试使用 django haystack 制作自定义搜索表单 我只是从 haystack 的文档中进行修改 forms py from django import forms from haystack forms import Se
  • geom_smooth() - 缩放 y 轴,因平滑而丢失数据

    抱歉 这个例子不是那么好 但它确实强调了这一点 mtcars tran lt factor mtcars am labels c Man Aut ggplot mtcars aes x hp y mpg group tran geom sm
  • 静态 const 成员初始化中的 sizeof

    我有这样的代码 class A public unsigned long a static const unsigned long b sizeof a error C2327 A a is not a type name static o
  • Ruby on Rails Collection select - 如何预先选择正确的值?

    我花了过去三天的时间为我的 列表 表单收集 选择表单助手 用户可以在其中选择一个类别 我希望将当前在listing category id 中设置的类别作为预选值 我的视图代码如下所示 我知道这是不正确的 但即使阅读 Shiningthro
  • iOS 6.0:UISplitViewController Popover 损坏或 Apple 更改了设计?

    我在 Xcode 4 5 和部署目标 5 1 中创建了一个带有主详细信息模板的项目 有人可以帮我解决以下 UISplitViewController 问题吗 在纵向模式下 主视图从左侧淡入 它不像 iOS 5 0 中的纵向模式那样显示为 P
  • Linux命令检查文件系统中的新文件

    我们有一台 Linux 机器 我们想检查在某个日期范围内添加了哪些新文件 我只能通过 SSH 访问此机器 它是 openSUSE 11 1 是否有某种命令可以为我提供在 04 05 2011 和 05 05 2011 之间添加到文件系统的文
  • Python - ValueError:未知区域设置:UTF-8 [重复]

    这个问题在这里已经有答案了 我运行包含 Pandas 导致问题的那个 库的 python 脚本 我收到此错误 Traceback most recent call last File test py line 2 in
  • 如何将新列添加到数据框(到前端而不是末尾)?

    如何向现有数据框添加新变量 但我想添加到前端而不是末尾 例如 我的数据框是 b c d 1 2 3 1 2 3 1 2 3 我想添加一个新变量 a 所以数据框看起来像 a b c d 0 1 2 3 0 1 2 3 0 1 2 3 Use
  • GWT Maven 插件每次都会重新编译

    我在我的 GWT 项目中使用 GWT Maven 插件 问题是 如果任何类发生更改 即使它是服务器类 GWT Maven 插件也会在运行时重新编译所有 GWT 代码mvn package 这个插件如何判断是否需要重新编译 我怎样才能让它变得
  • 从命令行覆盖 pom pluginManagement 中定义的 Maven 插件配置

    我的项目继承的POM包含一些
  • 需要递归生成文件数组的每个唯一组合

    我研究并发现LOTS类似的请求 但没有什么是我所需要的 这是我的问题 我正在使用 C 工作 并且有一个 FileInfo 数组 其中包含未知数量的元素 FileInfo files new FileInfo new FileInfo C a
  • Java 中的嵌套循环是如何工作的? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我是 Java 编程新手 正在尝试学习编码的基础知识 我想知道这段代码是如何工作的 for int i 1 i lt 5 i for int
  • 实体框架和 Transactionscope 在处置 Transactionscope 后不会恢复隔离级别

    我在事务范围和实体框架方面遇到了一些困难 最初 我们希望应用程序中的所有连接在读取数据时都使用快照隔离级别 但在某些情况下 我们希望使用读已提交或读未提交隔离级别来读取数据 为此 我们将使用事务范围来临时更改隔离级别用于查询 正如此处的几篇
  • 自动加载 UITableViewController 的 XIB

    遇到一些有趣的事情 想知道我是否做错了什么或者这是否是正确的行为 我有一个自定义的 UITableViewController 我假设 第一个错误 如果你这样初始化 CustomTableController alloc init 它会自动
  • enum整数值的赋值规则是什么?

    假设我这样编码 enum State State0 0 State1 1 State2 2 State5 State2 3 5 State6 State5 1 6 StateSize State6 1 7 我可以在多大程度上依赖事实 例如S