This question already has answers here:
Is there a performance difference between i++ and ++i in C?
(14个回答)
2年前关闭。
我知道关于使用预增量(减量)与后增量的性能提升存在很多问题。根据我的推论,大多数C / C ++编译器都会改变
作为优化
最近,我一直在进行大量代码审查,发现许多实例可以将i ++更改为++ i。问题是仅修复良好的形式,还是在某些情况下会影响性能?
我通常使用的编译器是什么意思:gcc和Visual C ++自动进行此优化?也欢迎提供有关其他常用编译器的信息。
(14个回答)
2年前关闭。
我知道关于使用预增量(减量)与后增量的性能提升存在很多问题。根据我的推论,大多数C / C ++编译器都会改变
for (int i =0; i<N; i++)
{
...
}
作为优化
for (int i =0; i<N; ++i)
{
...
}
最近,我一直在进行大量代码审查,发现许多实例可以将i ++更改为++ i。问题是仅修复良好的形式,还是在某些情况下会影响性能?
我通常使用的编译器是什么意思:gcc和Visual C ++自动进行此优化?也欢迎提供有关其他常用编译器的信息。
最佳答案
对于int
或double
这样的内置类型,您不会看到任何性能差异。
对于自定义C ++类型,您可能会看到不同,具体取决于它们实现操作符的方式-唯一的了解方法是读取代码并对其进行概要分析。
关于c++ - 循环中的前增量/减量与使用gcc和Visual C的后增量/减量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42274568/
10-13 09:47