可能重复:
Is there a performance difference between i++ and ++i in C++?优化代码:++ p比p ++更快吗?
在C++
,我看到人们在for
环或其他地方,要增加值经常使用++p
,而不是使用返回值。我听说这样更有效率,因为p++
在之前返回值,因此需要临时空间。
但是,感觉即使是一个非常无知的编译器也会将该返回值作为死代码(只要增量代码被内联,因此编译器可以看到返回值不是必需的)。
我试图拿出一个很好的例子,使用某种迭代,iter++
将实际创建副本(即使不使用的iter++
返回值。
毕竟,我们不“吨真的经常考虑寄存器分配或者当我们写代码迭代器。
我学会了用p++
只是因为这是我从学到的书本一样。是宁愿++p
时没有返回值,使用了过时的做法,或者干脆部分优雅的编码?为什么语言不叫++C
呢?
取决于'p'是什么。它是一个“迭代器”吗? 'int'?通常情况下,编译器会优化这些东西。 – Marlon 2012-03-29 21:18:50
嗯,解析一个1000000字符的字符串,并删除所有非alpha字符需要0.0150秒在我的电脑上。 ++ p和p ++的区别真的很重要吗? – BlackBear 2012-03-29 21:20:15