我已经读到由于性能原因(在某些情况下),我应该避免使用后缀增量运算符。
但这不影响代码的可读性吗?在我看来:
for(int i = 0; i < 42; i++);
/* i will never equal 42! */
看起来比:
for(int i = 0; i < 42; ++i);
/* i will never equal 42! */
但这可能只是出于习惯。诚然,我没有看到很多用处++i
。
在这种情况下,性能是否牺牲了可读性?还是我只是盲目的,++i
可读性比i++
?
++i
并且i++
在某些情况下做不同的事情,不要假设它们是相同的。
for (type i = 0; i != 42; ++i)
。不仅可以operator++
被重载,但是这样能operator!=
和operator<
。前缀增量不比后缀贵,不等于不比小于贵。我们应该使用哪个?
i++
在不知道会影响性能的情况下使用过++i
,所以我切换了。刚开始时,后者看上去确实有些奇怪,但是过了一会儿我就习惯了,现在感觉就像i++
。