(x==0) 能比 (0==x) 更有效吗? [复制]

2023-12-07

可能的重复:
if(flag==0) 和 if(0==flag) 哪个执行得更快?

我通常将平等条件写为:

if(0==x)

正如很多人所做的那样,而不是

if(x==0) 

这样当我不小心输入 = 而不是 == 时,编译器会告诉我。

有人告诉我,一些编译器将其实现为两个寄存器加载,而不是使用不等于零操作的一个,因此效率较低。

有人知道这是一个合理的评论吗?


有人告诉我,一些编译器将其实现为两个寄存器加载,而不是使用不等于零操作的一个

没有技术原因需要这样做。所以不,任何有价值的编译器都会not做出这种无关紧要的区别:因为这两个语句严格等效,并且编译器可以简单地识别这一点,所以它将以相同的方式对待它们。

请注意,这是only对于具有良好行为的内置类型和用户定义类型为 trueoperator ==. 理论上用户可以提供不对称的operator ==未给出此等效项的重载。

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

(x==0) 能比 (0==x) 更有效吗? [复制] 的相关文章

  • 什么可能导致 sock send() 命令上的“资源暂时不可用”

    什么会导致Resource temporarily unavailable套接字上的错误send 命令 套接字设置为AF UNIX SOCK STREAM 它在大多数情况下都有效 但偶尔会出现此错误 套接字的接收端似乎工作正常 我知道这不是
  • pop() 期间提升 Fibonacci 堆访问冲突

    Context 我目前正在实现某种形式的 A 算法 我决定使用 boost 的斐波那契堆作为底层优先级队列 我的图表是在算法运行时构建的 作为我使用的顶点对象 class Vertex public Vertex double double
  • 可以作为参数传递给 POST 方法的对象的最大大小

    我有一个带有 POST 方法的 Web API 控制器 如下所示 public class MyController ApiController POST api Scoring public HttpResponseMessage Pos
  • 如何正确使用memcpy?

    我有一个mainbuf bufsize 最初为空 我正在阅读一些输入 read fd otherbuf sizeof otherbuf 分配给不同的字符串otherbuf 每次我分配一个新字符串给otherbuf我想将其附加到mainbuf
  • 如何使用 lstat() 确定是否为硬链接

    我的操作系统是linux 我用 C 编程 我知道我可以使用 lstat 来识别软链接 即使用 S ISLNK st st mode 但我如何识别该链接是硬链接呢 如果链接是硬链接 它将被视为常规文件 但是 我还想区分常规文件和硬链接 有什么
  • 如何使用仿函数作为类模板中的成员?

    我试图使用函子作为std function类模板内的对象 以下是我到目前为止所做的事情 the functor class template template
  • 为什么要在 C 和 C++ 项目中创建 include/ 目录?

    当我处理我的个人 C 和 C 项目时 我通常把file h and file cpp在同一目录中 然后file cpp可以参考file h with a include file h 指示 然而 通常会发现库和其他类型的项目 如 linux
  • 不同平面中不同幅值的两条线段之间最近的两个 3D 点

    比方说AB1 AB2 CD1 CD2 AB1 AB2 and CD1 CD23D 点构成线段 所说的线段是不在同一平面 AP是一个点 线段AB1 AB2 BP是一个点 线段CD1 CD2 Point1 and Point2彼此最接近 两条线
  • C# 中的 memcpy 函数 [重复]

    这个问题在这里已经有答案了 可能的重复 C memcpy 等效项 https stackoverflow com questions 510971 c memcpy equivalent 相当于什么memcpyC 中的函数 正如已经说过的
  • Unix 编程。不确定如何使用 passwd 结构

    我做了一些研究 但仍在努力解决passwd结构 http www opengroup org onlinepubs 000095399 basedefs pwd h html http www opengroup org onlinepub
  • 如何为 IAsyncOperation 指定回调方法

    是否可以指定一个方法完成后调用async手术 平台 C Windows Phone 8 我需要实现非阻塞方法来异步发送UDP数据包 他们有我的方法 onWriteComplete int errorCode 操作完成时回调 这是我尝试过的
  • 如何重命名 MacOS/X 程序中的程序名称菜单标签?

    我有一个在 MacOS X 下运行的基于 Qt 的 GUI 程序 我希望能够更改该程序的第一个菜单标题的标签 即此屏幕截图中用红色圈出的标签 有没有一种编程方法可以做到这一点 假设不存在基于 Qt 的解决方案 则 Objective C 本
  • WCF:通用接口的序列化可能吗?

    我正在尝试实现一个服务契约 其中包含一个采用通用接口的方法 并且该通用接口本身被赋予一个接口参数 我用 ServiceKnownType 装饰了服务接口 用常规 KnownType 装饰了服务实现 并用常规 KnownType 装饰了数据契
  • 来自“void *”的dynamic_cast

    根据this https stackoverflow com questions 3155277 cannot dynamic cast void to templated class void 没有 RTTI 信息 因此从void 不合法
  • 对双向链表进行排序 C++

    尝试通过遍历列表的循环来完成此操作 在循环中 我将头节点输入到我定义的排序函数中 然后使用 strcmp 来确定节点中的哪个名称是否应该排在前面 它不起作用 因为写得太早了 我通过一次沿着列表一个节点进行线性比较 而不是回去查看第一个节点是
  • 网页上的富文本编辑器

    我正在尝试在我的网页中添加一个富文本编辑器 用户可以在其中撰写评论并格式化他们所写的内容 类似于我们在此网站上撰写帖子的编辑器 谁能指出我关于此的正确方向 任何可以帮助我构建这样一个组件的教程 我还想要一个免费的产品 忘记之前提到 类似的东
  • Docker 在 VS 中运行,但发布到 AWS 时出错?错误 CS5001:程序不包含适合入口点的静态“Main”方法

    我安装了适用于 Visual Studio 2017 V15 7 3 的 AWS 工具包 并使用 API 模板和 Linux docker 支持创建了一个新的空 Asp Net core 2 1 项目 我可以在 Visual Studio
  • 使用二维动态数组编写一个类

    我有一个家庭作业 我并不是在寻找任何人为我做这项工作 我只是在一个小方面遇到了麻烦 尽管我也接受其他方面的建议 任务是 使用二维动态数组编写一个类 构造函数传入数组的维度 构造函数还将动态数组中的所有值初始化为行索引乘以列索引 交换二维数组
  • 在字典和集合上自动添加索引器是一个好的设计决策吗?

    索引器何时可以自动将项目添加到集合 字典中 这是合理的还是违反最佳实践的 public class I snip public class D Dictionary
  • 在 Angular 6 和 ASP.net 中启用 CORS

    我正在尝试从 Angular 6 应用程序向发送电子邮件的 API 发送 POST 请求 我用邮递员测试了该请求并且它有效 但是当我在 Angular 应用程序中执行 POST 请求时 我的控制台中出现错误 我在 Angular 应用程序中

随机推荐

  • 在传播缓存行时,内存控制器如何保证原子的内存顺序?

    我目前正在深入研究std atomics和C 内存模型 真正对我的思维模型有帮助的是 CPU 的存储和加载缓冲区的概念 它基本上是一个 fifo 队列 用于存储必须写入 L1 缓存或从 L1 缓存读取的数据 至少在英特尔架构中存在 据我所知
  • 如果用户在显示通知时尝试授予权限,则会出现 Android“检测到屏幕覆盖”消息

    我在 Nexus 6 上安装了 Android Marshmallow 我正在尝试解决以下问题 如果用户在显示通知时尝试授予权限 则会显示 检测到屏幕覆盖 消息 并且请求权限对话框消失 当然 应用程序不会获得请求的权限 查看截图 我尝试通过
  • Apache Beam 管道中的连续状态

    我正在为数据流运行器开发光束管道 我的用例中需要以下功能 从 Kafka 主题读取输入事件 每个Kafka消息值都派生 userID Event pair For each userID I need to maintain a profi
  • sphinx 可以忽略 python 文档字符串中的某些标签吗?

    我正在使用 sphinx 记录我的项目 并使用 sphinxcontrib napoleon 扩展 它允许我使用谷歌风格的文档字符串 这是我的项目中的一个函数 def nn normalized weight normweight fn q
  • 如何将十六进制字符串转换为十进制?

    如果您能告诉我如何转换十六进制字母 我将不胜感激NSString e g 50A6C2 使用 Objective C 转换为小数 提前致谢 最简单的方法是使用NS扫描仪 具体方法scanHexInt or scanHexLongLong 另
  • 如何从晨星上抓取数据

    所以我对网络抓取世界还是个新手 到目前为止我只真正使用 beautifulsoup 从网站上抓取文本和图像 我想我应该尝试从图表上刮掉一些数据点来测试我的理解 但我对此有点困惑graph 在检查了我想要提取的数据的元素后 我看到了这一点 s
  • 如何使用 jQuery 单击事件基于 JSON 查询异步更改 href 值

    我正在使用bit ly 网址缩短服务缩短发送到 在 Twitter 上分享 功能的某些 URL 我想仅在用户实际按下共享按钮时加载 bit ly url 由于 bit ly 的最多 5 个并行请求限制 Bit ly 的 REST API返回
  • SQL Server ISDATE() 函数 - 有人能解释一下吗?

    因此 我查看了 SQL Server 中 ISDATE 函数的文档 并在示例中看到了这一点 SET DATEFORMAT mdy SELECT ISDATE 15 04 2008 Returns 0 SET DATEFORMAT mdy S
  • C# - 关键字使用 virtual+override 与 new

    在基类型中声明方法有什么区别 virtual 然后使用 在子类型中覆盖它override 关键字而不是简单地使用 new 子类型中声明匹配方法时的关键字 我总是发现这样的事情用图片更容易理解 再次 采用约瑟夫 戴格尔的代码 public c
  • VBA 调试器仅显示集合的 256 个元素

    我正在研究 Excel 宏 调试器是否有一个选项可以像数组一样显示所有元素 如果不是 唯一的解决方法是在膨胀集合后将我的类对象存储在数组中吗 你可以使用debug print并将输出写入立即窗口并以此方式绕过限制 我几乎可以肯定没有办法增加
  • 如何在twig模板中显示包含HTML的字符串?

    如何在 twig 模板中显示包含 HTML 标签的字符串 我的 PHP 变量包含以下 html 和文本 word b a word b 当我在我的树枝模板中执行此操作时 word 我明白了 lt b gt a word lt b gt 我想
  • 使用 Yahoo SMTP 以 PHP 发送邮件

    我如何通过以下方式发送电子邮件Yahoo PHP 中的 SMTP 服务器 你应该使用类似的东西斯威夫特 梅勒 or PHP邮件程序 以下示例适用于 Swift message Swift Message newInstance gt set
  • UnauthorizedAccessException:更改 AD 密码时访问被拒绝

    我尝试编写 C 代码来更新 Server 2012 中的域用户密码 我根据以下代码使用以下代码这个堆栈溢出答案 using var context new PrincipalContext ContextType Domain test c
  • 从 Cocoa 中的文件读取时间戳?

    我想读取文件创建 或上次修改 的时间 如 Finder 修改日期 中所示 Cocoa中有没有现有的方法可以做到这一点 谢谢 如果您使用的是 10 5 或更高版本 则可以使用 NSFileManager attributesOfItemAtP
  • 在 doPost() 中访问请求标头

    要验证 Webhook 我需要从请求标头获取参数 到目前为止 我找不到任何信息是否确实可以在应用程序脚本中访问这些标头 到目前为止唯一有效的是访问发布请求的正文 function doPost e something like this v
  • Google Cloud ML Engine - 作业因内部错误而失败。无法执行作业

    这是我之前训练成功的一个ml job 但当我今天尝试时 它不起作用 所以在那之后我尝试删除桶中的所有东西并重新开始 但它仍然不起作用 给出以下错误 发生内部错误 请在几分钟后重试 如果您仍然遇到错误 请联系 Cloud ML None
  • .prev(选择器)不起作用

    这是问题所在 实时复制 CSS div border 1px solid black HTML div div br div div br div class test Should have a blue border div br di
  • 如何垂直移动JApplet内的图像?

    我已经在 J Applet 中显示了一个图像 球 现在我希望图像以垂直方式 上下 移动 问题是我不知道该怎么做 有人对这个问题有想法吗 您需要将该图像的位置设置为某个计算值 意味着您使用时间 速度和其他限制来计算垂直位置 如何设置该位置取决
  • Ljava.lang.Object;无法转换为 [Ljava.lang.Integer

    我编写了一个泛型类 下面是该类的构造函数 我想做这样的事情 如行中所写 elements E new Object size 因为我不知道运行时的泛型类型 所以它会抛出异常 public class Stack
  • (x==0) 能比 (0==x) 更有效吗? [复制]

    这个问题在这里已经有答案了 可能的重复 if flag 0 和 if 0 flag 哪个执行得更快 我通常将平等条件写为 if 0 x 正如很多人所做的那样 而不是 if x 0 这样当我不小心输入 而不是 时 编译器会告诉我 有人告诉我