c++ - 单个循环中的两个语句是否比每个循环一个语句更快?

标签 c++ performance

或者说在性能方面是一样的吗?

例如,哪个更快?

int a = 1, b = 2;
for (int i = 0; i < 10; ++i) {
    a = a + 1;
    b = b + 1;
}

for (int i = 0; i < 10; ++i) {
    a = a + 1;
}
for (int i = 0; i < 10; ++i) {
    b = b + 1;
}

注意:我改变了我的例子,因为很多人似乎对其中的陈述而不是我问题的目的感兴趣。

最佳答案

您的两个示例根本不执行任何操作,并且大多数编译器都会将它们优化为相同的内容 - 根本不执行任何操作。

更新:您的两个新示例显然是等效的。如果任何编译器为其中一个编译器生成了比另一个更好的代码,那么它就是一个质量很差的编译器,您应该使用更好的编译器。

关于c++ - 单个循环中的两个语句是否比每个循环一个语句更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64215505/

相关文章:

c++ - 在 C++ 中使用 DirectShow 解码带有 H.264 流的 MP4 视频

带有 void 操作数的 C++ 条件运算符

用于在 XML 中存储设置的 C++ 库

c++ - 在没有代码重复的情况下将 C 函数包装在自动对象中

android - 仅在 Lollipop 设备上崩溃,: VrVideoView$Options 的解析失败

iphone - 如何提高 iPhone 上的 OpenCV 性能?

javascript - 这样使用jQuery会不会减慢页面显示次数?

performance - 为什么电梯框架这么慢?

javascript - 如果没有调用任何函数,javascript会执行吗?

c++ - 部署后应用程序文件夹中的 MFC C++ 引用 INI 文件