【发布时间】:2017-08-03 11:45:44
【问题描述】:
如果我有一些重复多次的简单算术代码。编译器会自动优化吗?
这里是例子:
someArray[index + 1] = 5;
otherArray[index + 1] = 7;
从性能的角度来看引入变量nextIndex = index + 1 是否有意义(而不是从良好的可读性和可维护性代码的角度来看)或者编译器会自动进行此类优化?
【问题讨论】:
-
好吧,如果索引是基本的整数类型,很可能会启用优化。
-
为什么不启用优化并检查生成的代码?
-
编译并检查程序集。可以想象,但我对此表示怀疑。
-
@specializt 这些不是被索引的同一个对象。即使它们是,非内联重载
operator []也可能会关闭优化器。 -
哦……看错了。
标签: c++ optimization compiler-optimization