C++中使用++i与i++两者的效率有何区别?
i++
表示先引用,后自增。++i
返回的是对象的引用(reference of object),而i++
返回的是对象的原值(origin of object,但非左值)。++i
先自增,后返回原对象的对象,没有产生任何临时对象;而i++
,先保存原对象,然后自增,最后返回该原对象的临时对象,需要创建和销毁对象。- 对于C++内置类型,两者的效率差别不大;对于自定义的类而言,++i 的效率更高一些。
C语言中没有面向对象,两者的使用效率是一样的,只不过两者的操作顺序有所不同而已。