递增:x++ 与 x += 1

2024-01-06

我读到,为了清楚起见,许多开发人员使用 x += 1 而不是 x++。我知道 x++ 对于新开发人员来说可能会含糊不清,而 x += 1 总是更清晰,但是两者之间的效率有什么区别吗?

使用 for 循环的示例:

for(x = 0; x < 1000; x += 1) vs for(x = 0; x < 1000; x++)

我知道这通常没什么大不了的,但如果我重复调用一个执行这种循环的函数,从长远来看它可能会增加。

另一个例子:

while(x < 1000) {
    someArray[x];
    x += 1;
}

vs

while(x < 1000) {
    someArray[x++];
}

能否将 x++ 替换为 x += 1 而不会造成任何性能损失?我特别关心第二个例子,因为我使用的是两行而不是一行。

增加数组中的一项怎么样?将要someArray[i]++比做事更快someArray[i] += 1当在一个大循环中完成时?


任何理智或疯狂的编译器都会为两者生成相同的机器代码。

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

递增:x++ 与 x += 1 的相关文章

  • 使用 numpy 数组计算累积最小值

    我想计算 累积最小值 数组 基本上 数组到每个索引的最小值 例如 import numpy as np nums np array 5 3 4 2 1 1 2 0 cumulative min np zeros nums size dtyp
  • 如何在 PHP 中对数组和数据进行排序?

    这个问题旨在作为有关 PHP 中数组排序问题的参考 人们很容易认为您的特定案例是独特的并且值得提出新问题 但大多数实际上只是此页面上的解决方案之一的微小变化 如果您的问题因与此问题重复而被关闭 请仅在您能解释为什么它与以下所有问题显着不同的
  • 如何使用 getJSONArray 方法访问 json 对象的嵌套元素

    我有一个 JSON 响应 如下所示 result map entry key xsi type xs string ContentA value fsdf key xsi type xs string ContentB value dfdf
  • 将 numpy 数组传递给 C++

    我有一些用 Python 编写的代码 其输出是 numpy 数组 现在我想将该输出发送到C 代码 其中将执行大部分计算 我尝试过使用 cython 的public cdef 但我正在处理一些问题 我将感谢您的帮助 这是我的代码 pymodu
  • Java-使用递归压平数组

    我一直在练习算法 递归一直是我的弱项 该问题要求将嵌套数组展平为单个数组 如果使用给出 O n 3 给定相同大小的 3d 数组 解决方案的循环 这将很简单 然而 通过递归 我已经挣扎了几个小时 这就是我所拥有的 请注意 我已经尝试过使用我的
  • C# LINQ 方法确定数组是否是另一个数组的子集(包括重复项)?

    考虑两个数组 int a1 new int 1 1 1 2 3 4 5 6 7 8 9 10 10 int a2 new int 1 3 4 7 5 10 1 我希望能够确定 a2 是否是 a1 的子集 考虑重复项目的数量 换句话说 如果a
  • 在 Lucene.NET 中索引 Json 对象数组

    我正在努力将任意 json 对象放入 Lucene NET 索引中 给定的对象可能如下所示 name Tony age 40 address street Weakroad number 10 floor 2 door Left skill
  • 匹配数组中的对象并合并

    UPDATE 我有一个名为的对象数组cars包含 li 标签 其中包含有关汽车的属性数据 例如价格 汽车类型等 我的目标是 如果这些汽车符合某些标准 则将它们合并到一个列表中 要求 快速性能 保持相同的汽车数组结构 Main Goal Ma
  • C for 循环索引:新 CPU 中的前向索引更快吗?

    在我订阅的邮件列表上 两位知识渊博的 IMO 程序员正在讨论一些优化的代码 并说了以下内容 在 5 8 年前发布的 CPU 上 向后迭代 for 循环稍微快一些 e g for int i x 1 i gt 0 i 因为比较i归零比将其与其
  • 使用 javascript Array reduce() 方法有什么真正的好处吗?

    reduce 方法的大多数用例都可以使用 for 循环轻松重写 对 JSPerf 的测试表明 reduce 通常会慢 60 75 具体取决于每次迭代内执行的操作 除了能够以 函数式风格 编写代码之外 还有什么真正的理由使用reduce 吗
  • Firestore 更新后仅获取文档一次

    我有一个 tableView 它从 Firestore 集合中获取所有文档 并且我只想在用户刷新 tableView 后将最后一个文档添加到 Firestore 时获取一次 然后我想删除侦听器 以便当用户刷新 tableView 时仅获取文
  • Fortran 指针数组

    同样 Fortran 中的指针数组 好吧 我有一个派生类型 type t context pointer type t context pointer p ctx end type t context pointer 当我在主程序中执行以下
  • 将 Javascript 对象的属性从 string 更改为 int

    我有一个对象数组 每个对象具有三个属性 年份 总计 人均 例子 0 Object per capita 125 8 total 1007 2 year 2009 这些属性是字符串 我想创建一个循环来遍历数组并将它们转换为 int 我尝试了以
  • 将 UUID 存储为 base64 字符串

    我一直在尝试使用 UUID 作为数据库键 我希望占用尽可能少的字节数 同时仍然保持 UUID 表示形式的可读性 我认为我已经使用 base64 将其减少到 22 个字节 并删除了一些尾随的 这些 对于我的目的来说似乎没有必要存储 这种方法有
  • .push() 将多个对象放入 JavaScript 数组中返回“未定义”

    当我将项目添加到beats数组然后console log用户时 我得到了数组中正确的项目数 但是当我检查 length 时 我总是得到 1 尝试调用索引总是会给我 未定义 如下所示 Tom beats 1 我想我错过了一些明显的东西 但这让
  • 3D 数组到 3D std::vector

    我在代码函数中用 3D std vector 替换了 3D 数组 它进入了无限循环 你能给我一个提示吗 我真的需要使用向量而不是数组 谢谢 我最初的代码是 arr is a 3D array of a sudoku table the 3
  • 在 NumPy 中获取 ndarray 的索引和值

    我有一个 ndarrayA任意维数N 我想创建一个数组B元组 数组或列表 其中第一个N每个元组中的元素是索引 最后一个元素是该索引的值A 例如 A array 1 2 3 4 5 6 Then B 0 0 1 0 1 2 0 2 3 1 0
  • suhosin.mt_srand.ignore 在 PHP 中一致洗牌数组的解决方法?

    我有一个 PHP 脚本 需要随机化一个具有一致结果的数组 这样它就可以向用户呈现前几个项目 然后如果他们愿意 他们可以从同一个打乱的集合中提取更多结果 我目前使用的是这个 基于我相信的 Fisher Yates 算法 function sh
  • 从 pygame 获取 numpy 数组

    我想通过 python 访问我的网络摄像头 不幸的是 由于网络摄像头的原因 openCV 无法工作 Pygame camera 使用以下代码就像魅力一样 from pygame import camera display camera in
  • Fortran 子例程返回错误值

    嘿 我正在开发一个 Fortran 程序 遇到了一个奇怪的问题 当我尝试在调用特定子例程之前直接输出数组的某些值时 我得到了正确的值 然后 我尝试在启动子例程时输出同一数组的一些值 它们都是 0 我最终在子例程之后输出数组的值 并且这些值回

随机推荐

  • 有什么方法可以确定 Sonata\AdminBundle\Admin\Admin::configureFormFields() 中的当前操作(创建或编辑)?

    我想为 Sonata Admin Bundle 中的创建和编辑操作创建不同的字段配置 除了检查还有什么方法可以确定吗 this gt getSubject gt getId in Sonata AdminBundle Admin Admin
  • 在临时表/变量中:将多行连接到只有 1 行的表

    Hi 我有一个将临时变量与临时表连接的小问题 任何意见将不胜感激 我按照我尝试解决问题的顺序来呈现问题 首先 我有一个从 select 语句创建的临时变量 变量 enhet 有 2 行 观察 在我的测试文件中 稍后会更多 declare e
  • 如何为所有延迟加载模块提供自定义提供程序

    我在我的应用程序中使用子组件的延迟加载策略 在应用程序的顶层 我有自定义 HTTP 提供程序来拦截所有 ajax 调用 providers provide Http useFactory backend XHRBackend default
  • 仅适用于字符 a-z、A-Z 的正则表达式

    我不知道如何在 JavaScript 或 jQuery 中创建正则表达式 我想创建一个正则表达式来检查字符串是否仅包含 a z 和 A Z 之间的任意排列的字符 EDIT 当我尝试制作正则表达式时 a zA Z s 也接受空格 它不起作用
  • 如何知道要使用哪个版本的类型包

    我知道一些 npm 包不包含类型 并且由于社区创建了 types packagename 来提供类型 由于两者都是包 如何知道哪个版本的类型包与所选版本的库包一起使用 主要版本号和次要版本号 types packagename包将匹配的主要
  • 我应该始终检查成员指针是否为 nullptr?

    做这样的事情是不是很糟糕 在对对象指针进行操作之前 不检查draw 函数内部是否有nullptr class SomeClass public SomeClass Object someValidObject object someVali
  • Scala:删除最后一次出现的字符

    我正在尝试删除字符串中最后一次出现的字符 我可以得到它的index str lastIndexOf 我已经尝试过使用split和replace字符串上的函数 你可以使用patch scala gt val s s dfkj w erw s
  • Javascript for...of 在 Safari 中不起作用

    目前 我正在尝试构建一个简单的侧面导航 只要单击 toggleSidenav 按钮之一 有多个 该导航就会出现 消失 在使用 Firefox 和 Chrome 进行测试时 它似乎工作正常 但今天当我尝试使用 Safari 桌面版和移动版 打
  • Docker 组合 |虚拟主机

    我的代码有什么问题吗 提前致谢 我正在尝试为我的 docker 容器设置虚拟主机 在 localhost 8000 上工作正常 但是当我尝试通过 http borgesmelo local 访问时 出现错误 ERR NAME NOT RES
  • OpenGL 中的恒定游戏速度与 GLUT 中的可变 FPS 无关?

    我一直在读科恩 维特斯详细文章 http www koonsolo com news dewitters gameloop 关于不同的游戏循环解决方案 但我在使用 GLUT 实现最后一个解决方案时遇到了一些问题 这是推荐的解决方案 在阅读了
  • 如何编写 CSS 选择器来选择不具有特定属性的元素?

    如何编写 CSS 选择器来选择不具有特定属性的元素 我有2个 div 节点如下 First div class weEq5 div div
  • Chrome 时间线 - 如何确定“重新计算样式”日志条目的原因?

    使用 Chrome 中的内置时间线记录器分析页面时 我看到重复的 重新计算样式 条目 它们没有明显的信息将它们链接到 DOM 元素或事件 我怎样才能最好地确定这些条目的原因 已发布的用于调查的 jQuery 版本的替代方案是控制台中的简单一
  • 为什么会出现 TypeError: 'str' object不能被解释为整数?

    我正在做OrderedDict的练习 我正在尝试使用 input rsplit 方法为字典分配值 发生了一个错误 名为 TypeError str 对象无法解释为整数 我哪里搞错了 from collections import Order
  • 在生产环境中使用代码优先降级(回滚)数据库

    我有一个网络应用程序 安装在客户的计算机上供他们内部使用 我使用 C MVC5 和代码优先的实体框架 我使用了自动迁移 true 但我停止并将其设置为 false 我将其安装在生产环境 发行版 上 使用部署包 无 Visual Studio
  • TailwindCSS中的transition-all和transition有什么区别

    Tailwind 提供了多个实用程序来控制 CSS 属性转换 其中有transition and transition all 我检查了这两个类的 CSS 属性 这里它们的顺序相同 transition property backgroun
  • 检测声音是否在 Selenium 中播放

    我在我正在开发的项目的 iframe 中加载了一些第三方网站 但我需要以某种方式检测这些网站是否正在播放任何声音 我没有看到任何使用 WebDriver 的方法来查看浏览器中是否正在播放声音 是否有其他方法来查询虚拟机本身 在现代 HTML
  • 如何通过 decltype 声明迭代器的值

    在 C 98 中 我通常使用以下代码来声明迭代器值类型中的变量 typename std iterator traits
  • 在 python 中对局部变量使用显式 del

    使用显式的最佳实践和建议是什么delpython 中的语句 我知道它用于删除属性或字典 列表元素等 但有时我看到它在代码中的局部变量上使用 如下所示 def action x result None something produce so
  • Go数组初始化

    func identityMat4 16 float return 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 我希望你能从这个例子中明白我想要做什么 我如何在 Go 中执行此操作 func identityMat4 1
  • 递增:x++ 与 x += 1

    我读到 为了清楚起见 许多开发人员使用 x 1 而不是 x 我知道 x 对于新开发人员来说可能会含糊不清 而 x 1 总是更清晰 但是两者之间的效率有什么区别吗 使用 for 循环的示例 for x 0 x lt 1000 x 1 vs f