C、C++中++i与i++的区别

C++中使用++i与i++两者的效率有何区别?

  • i++ 表示先引用,后自增。 ++i 返回的是对象的引用(reference of object),而 i++ 返回的是对象的原值(origin of object,但非左值)。
  • ++i 先自增,后返回原对象的对象,没有产生任何临时对象;而 i++,先保存原对象,然后自增,最后返回该原对象的临时对象,需要创建和销毁对象。
  • 对于C++内置类型,两者的效率差别不大;对于自定义的类而言,++i 的效率更高一些。

C语言中没有面向对象,两者的使用效率是一样的,只不过两者的操作顺序有所不同而已。

猜你喜欢

转载自blog.csdn.net/breadheart/article/details/114132861