- 对于基本类型比如int等,两者性能没有区别。
- 对于符合对象比如类、结构体等,++i的性能优于i++。
原因是i++会产生临时对象,生成一个拷贝,若拷贝对象的内容较多,则会增加很多开销。
底层实现:
- i++的运算过程如下:
int temp = i ;
i = i + 1 ;
return temp ;
- ++i的运算过程如下:
return i+1;
原因是i++会产生临时对象,生成一个拷贝,若拷贝对象的内容较多,则会增加很多开销。
底层实现:
int temp = i ;
i = i + 1 ;
return temp ;
return i+1;