C++前置式递增++i和后置式递增i++的区别

看STL的时候,发现作者提到前置式递增(preincrement)比后置式递增(postincrement)的效率高,才意识到之前一直写i++而别人代码写++i的原因。之前一直以为是习惯差别,惭愧惭愧。

for(int i=0;ii)
{               ^^^ 前置式
//do sth
}
for(int i=0;ii++)
{               ^^^后置式,ok,but slower
//do sth
}

后置式递增效率低,因为i++需要一个格外的临时变量保存i的值并返回,而++i 直接把1加到i这个变量的空间中去,并返回i这个空间中的值。

你可能感兴趣的:(C++)