This question already has answers here:
Is there a performance difference between i++ and ++i in C?
                                
                                    (14个回答)
                                
                        
                                2年前关闭。
            
                    
我知道关于使用预增量(减量)与后增量的性能提升存在很多问题。根据我的推论,大多数C / C ++编译器都会改变

for (int i =0; i<N; i++)
{
...
}


作为优化

for (int i =0; i<N; ++i)
{
...
}


最近,我一直在进行大量代码审查,发现许多实例可以将i ++更改为++ i。问题是仅修复良好的形式,还是在某些情况下会影响性能?

我通常使用的编译器是什么意思:gcc和Visual C ++自动进行此优化?也欢迎提供有关其他常用编译器的信息。

最佳答案

对于intdouble这样的内置类型,您不会看到任何性能差异。

对于自定义C ++类型,您可能会看到不同,具体取决于它们实现操作符的方式-唯一的了解方法是读取代码并对其进行概要分析。

关于c++ - 循环中的前增量/减量与使用gcc和Visual C的后增量/减量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42274568/

10-13 09:47