我最近开始考虑优化,现在我知道有很多书籍和文章,但我有一个我感兴趣的特定场景。
A.
for (i = 0; i < limit + 5; i++)
cout << test;
B.
limit2 = limit +5;
for (i = 0; i < limit2; i++)
cout << test;
我想知道的是,第二段代码是否会运行得更快,因为它只需要进行一次数学计算,或者计算是否会在循环的生命周期内存储。
最佳答案
假设类型很简单,如 int
等,如果任何体面的编译器没有将两个示例优化为发布版本中的相同代码,我会感到非常惊讶。例如,一个复杂的类型可能在重载的 operator++
中需要更多的马力。
关于c++ - 这些代码中哪些会运行得更快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5647069/