为什么我永远不应该在标志枚举中使用 0 [重复]

2024-03-03

可能的重复:
枚举应该以 0 还是 1 开头? https://stackoverflow.com/questions/7257409/should-an-enum-start-with-a-0-or-a-1

为什么我不应该在标志枚举中使用 0?我已经读过很多次了,并且想 知道原因了:)


为什么我不应该在标志枚举中使用 0?

这个问题是基于一个错误的假设。你应该always在标志枚举中使用零。它应该始终设置为“无”。

除了表示“没有设置任何标志”之外,您不应该将其用于任何其他用途。

Why not?

因为如果零有“无”以外的含义,那就真的很混乱了。人们有合理的预期((e & E.X) == E.X)意思是“X标志设置了吗?”但如果 X 为零,则该表达式将always是真的,即使逻辑上该标志未“设置”。

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

为什么我永远不应该在标志枚举中使用 0 [重复] 的相关文章

  • 将 Stream 反序列化为 List 或任何其他类型

    尝试将流反序列化为List
  • 在动态事件处理程序中引用“this”

    在我的 myClass 类中 我使用 Reflection Emit 为 myClass 类成员之一动态编写事件处理程序 我已经成功地做到了这一点 现在 我想修改事件处理程序以调用 myClass 类中的实例方法之一 但是 我无法弄清楚如何
  • 如何从RichTextBox中获取显示的文本?

    如何获得显示的RichTextBox 中的文本 我的意思是 如果 RichTextBox 滚动到末尾 我只想接收那些对我来说可见的行 P S 获得第一个显示的字符串就足够了 您想使用 RichTextBox GetCharIndexFrom
  • 使用API​​隐藏程序标题栏

    它可以使用 c 和 windows api 删除窗口控制台标题栏 如果是的话如何 请 这个简单的应用程序隐藏并显示其所在控制台的标题栏 它会立即将控制台标题更改为 guid 以查找窗口句柄 然后 它使用 ToggleTitleBar 使用找
  • 使用 OpenGL 着色器进行数学计算 (C++)

    我有一个矩阵 例如 100x100 尺寸 我需要对每个元素进行计算 matrix i j tt 8 5例如 我有一个巨大的矩阵 我想使用 OpenGL 着色器来实现该算法 我想使用着色器 例如 uniform float val unifo
  • 访问“if”语句之外的变量

    我怎样才能使insuranceCost以外可用if陈述 if this comboBox5 Text Third Party Fire and Theft double insuranceCost 1 在 if 语句之外定义它 double
  • Qt 计算和比较密码哈希

    目前正在 Qt 中为测验程序构建面向 Web 的身份验证服务 据我了解 在数据库中存储用户密码时 必须对其进行隐藏 以防落入坏人之手 流行的方法似乎是添加的过程Salt https en wikipedia org wiki Salt cr
  • Xcode 6 代码编辑器异常行为

    截至最近 我在使用 Xcode 6 代码编辑器时遇到了一些麻烦 最终导致编辑窗口中的焦点快速变化 在编辑文本时跳转到同一文件中完全不同的位置 一切就是这样开始的 最近 编辑器拒绝上下滚动 挂起 停止显示行号或任何其他文本 我该怎么做才能让它
  • 在 MATLAB 中创建共享库

    一位研究人员在 MATLAB 中创建了一个小型仿真 我们希望其他人也能使用它 我的计划是进行模拟 清理一些东西并将其变成一组函数 然后我打算将其编译成C库并使用SWIG https en wikipedia org wiki SWIG创建一
  • 默认值 C# 类 [重复]

    这个问题在这里已经有答案了 我在控制器中有一个函数 并且我收到表单的信息 我有这个代码 public Actionresult functionOne string a string b string c foo 我尝试将其转换为类似的类
  • C# datagridview 列转入数组

    我正在用 C 构建一个程序 并在其中包含一个 datagridview 组件 datagridview 有固定数量的列 2 我想将其保存到两个单独的数组中 但行数确实发生了变化 我怎么能这样做呢 假设一个名为 dataGridView1 的
  • 操纵 setter 以避免 null

    通常我们有 public string code get set 如果最终有人将代码设置为 null 我需要避免空引用异常 我尝试这个想法 有什么帮助吗 public string code get set if code null cod
  • 您可以在一个 Windows Azure 实例上部署多个 Web 应用程序吗?

    是否可以在一个 windows azure 小型计算实例中运行一堆 Web 应用程序 我正在考虑使用 Azure 作为放置一堆处于开发和非生产状态的项目 Web 应用程序 的地方 有些实际上已经被封存了 但我想在某个地方有一个活跃的实例 我
  • 使用 AdHocWorkspace 会导致“不支持语言‘C#’”。

    在VS2015中使用Microsoft CodeAnalysis CSharp Workspaces的RC2 这段代码会抛出异常 var tree CSharpSyntaxTree ParseText var workspace new A
  • 如何使用收益返回和递归获得字母的每个组合?

    我有几个像这样的字符串列表 可能有几十个列表 1 A B C 2 1 2 3 3 D E F 这三个仅作为示例 用户可以从几十个具有不同数量元素的类似列表中进行选择 再举个例子 这对于用户来说也是一个完全有效的选择 25 empty 4 1
  • 从 C 线程调用 Python 代码

    我对从 C 或 C 线程调用 Python 代码时如何确保线程安全感到非常困惑 The Python 文档 http docs python org c api init html non python created threads似乎是
  • TPL 数据流块下游如何获取源生成的数据?

    我正在使用 TPL Dataflow 处理图像 我收到处理请求 从流中读取图像 应用多次转换 然后将生成的图像写入另一个流 Request gt Stream gt Image gt Image gt Stream 为此 我使用块 Buff
  • 如何设置 CMake 与 clang 交叉编译 Windows 上的 ARM 嵌入式系统?

    我正在尝试生成 Ninja makefile 以使用 Clang 为 ARM Cortex A5 CPU 交叉编译 C 项目 我为 CMake 创建了一个工具链文件 但似乎存在错误或缺少一些我无法找到的东西 当使用下面的工具链文件调用 CM
  • c# 模拟 IFormFile CopyToAsync() 方法

    我正在对一个异步函数进行单元测试 该函数将 IFormFile 列表转换为我自己的任意数据库文件类列表 将文件数据转换为字节数组的方法是 internal async Task
  • 无法使 Polly 超时策略覆盖 HttpClient 默认超时

    我正在使用 Polly 重试策略 并且正如预期的那样 在重试过程中HttpClient达到 100 秒超时 我尝试了几种不同的方法来合并 Polly 超时策略 将超时移至每次重试而不是总计 但 100 秒超时仍然会触发 我读过大约 5 个

随机推荐

  • 未出现写入 ILogger 的 Serilog (Azure Functions V2)

    我已安装 Serilog 并配置为将日志事件数据写入 MS SQL Server for Azure Function 中的表 系统日志和静态类本身写入的日志显示在表中 但是当我尝试使用 Extensions Logging ILogger
  • 核心数据和分页

    我有一个包含 50 000 条记录的数据库 我正在使用核心数据从搜索中获取记录 一次搜索可以轻松返回 1000 条记录 使用 core data 和 uitableview 来分页这些记录需要什么 我想一次显示 100 条记录 并在查看 1
  • iOS 中如何将字符串的一部分加粗?

    我想让文本字符串的某些部分变为粗体 Eg 这就是要大胆 这是正常的字符串 在Android中 可以通过使用可生成字符串轻松实现 iOS 中的等价物是什么 是的 可以通过以下方式实现NSAttributedString https devel
  • Laravel 用户特定的缓存

    我从来没有对缓存做过太多事情 但现在我正在尝试尝试一下 我有一个返回大量数据的仪表板 为了减轻负载 我像这样缓存数据 return cache gt rememberForever something function return aut
  • EF Core 2.2,将字符串参数传递给 FromSql 语句

    public List
  • 如何一次反编译多个jar?

    好吧 我想主题已经说明了一切 理想的解决方案将找到某个文件夹中的所有 jar 它们可能位于子文件夹中 并将找到的所有源写入单个 src 目录 当然还要维护包文件夹 具体用例 反编译所有 Eclipse 插件 jar 下载JAD反编译器 ht
  • 在 PHPUnit 中,如何模拟父方法?

    我想测试一个调用同名父方法的类方法 有没有办法做到这一点 class Parent function foo echo bar class Child function foo foo parent foo return foo class
  • 无法修复“语法错误,‘foreach’语句仅在源级别为 1.5 时可用”

    我正在编写一个 Java 代理 它使用参数化集合类型和增强的 for 循环 然后 Domino Designer 8 5 3 告诉我通过快速修复操作将项目的合规性级别更改为 1 5 如果我这样做 项目就会重建 并且不会发生任何变化 如果我转
  • Shopify.onItemAdded 更新#cart 和 cart.item.count

    我正在尝试在 Shopify 中制作一个 ajaxed 购物车 我已使产品页面将商品添加到购物车 而无需刷新或转到购物车页面 要查看购物车 您可以单击输入或带有 cart show 的链接 因此我将其添加到 添加到购物车 输入中
  • 使用 Pyspark 进行单元测试:未关闭的套接字警告

    我想使用 PySpark 进行单元测试 测试本身有效 但是对于我得到的每个测试 ResourceWarning unclosed
  • 如何使目录可写? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 如何从 OS X 终端使目录可写 chmod w
  • Windows 窗体设计器破坏了窗体布局

    今天早上 我在 Visual Studio Windows 窗体设计器中偶然发现了一个奇怪的问题 我有一份表格 现在已经使用了大约一个月 没有任何变化 在应用程序中看起来像这样 文本变得不可读 因为我不完全确定这里的法律含义 现在从今天开始
  • gpg --homedir 更改目录不起作用

    我们有一台 Windows Server 2008 R2 服务器 我们安装了 gpg4win 并且它可以工作 我们可以创建公钥和私钥 并为那些拥有我们的公钥的人解密消息 问题 gnu 安装默认为我的用户配置文件 我们希望它位于通用配置文件下
  • iOS - 以编程方式设置 UIContainerView 的嵌入式 UIViewController

    我有一个UIViewController with a UIContainerView里面 根据某个条件是否成立 我想以编程方式将容器视图的嵌入视图设置为不同的UIViewController 我注意到你只能用一个嵌入转场来设置一个UIVi
  • Google Map API 方向三角形图标不明确

    I am using Google Map API V3 to show the vehicle traveled path and its route directions But by google direction icon its
  • 如何通过内键对多维数组进行排序

    我有一个巨大的数组 是从 BattleField Bad Company 2 的 API 中提取的 并且士兵统计数据可以作为多维数组提取 每个士兵都有一个内部数组 但是 API sormats 它按名称字母顺序对士兵进行排序 我想按等级对它
  • Count() 列表中的特定属性#

    if gardenvlist Count getava Count else if oceanvlist Count getava Count else if cityvlist Count getava Count gardenvlist
  • 启动活动时出现 NullpointerException

    我有一个可以执行此操作的数组列表 ArrayList
  • C11 中是否有定义的方法来进行指针减法?

    有没有一种方法可以在 C11 中将一个指针与另一个指针相减 并始终定义结果 该标准规定 如果结果不能表示为 ptrdiff t 类型 则行为未定义 我对依赖于静态断言的解决方案持开放态度 该解决方案有望在现代通用 32 或 64 位环境中传
  • 为什么我永远不应该在标志枚举中使用 0 [重复]

    这个问题在这里已经有答案了 可能的重复 枚举应该以 0 还是 1 开头 https stackoverflow com questions 7257409 should an enum start with a 0 or a 1 为什么我不