读书人

什么情况下前缀++比后缀效率高? 小弟我

发布时间: 2012-05-20 16:03:12 作者: rapoo

什么情况下前缀++比后缀效率高? 我怎么感觉这两个效率完全一样啊
网上总是说,后缀++要先返回一个右值,然后再加1,所以效率比前缀的低,前缀的没有要求一定要返回一个值。

我在Vc下面做了一个实验,debug/release都看了反汇编的代码,发现前缀和后缀生成的代码一样啊。
那么,所谓的"前缀效率高",到底什么时候才是真命题呢?



[解决办法]
首先这个跟你的编译器有关 有的编译器后缀++比前缀++少一次拷贝
其实这是个无关痛痒的问题 只是个人习惯而已 考虑效率问题不必纠结在这个上面
[解决办法]
值变量是一样的,对象时后缀++要比前缀效率高,主要是返回引用不用在函数内生成临时对象
[解决办法]
按照理论上是这样的:内置类型变量是一样的,对象类型后缀++要比前缀效率高,主要是返回引用不用在函数内生成临时对象。
但是由于现在的编译器很智能,能够区分出一些需要优化的,直接给你优化掉了。所以你有时候看汇编都看不出来差别。

读书人网 >C++

热点推荐