C++中的前置(++、--)与后置(++、--)的对比

来源:互联网 发布:大数据时代变革 编辑:程序博客网 时间:2024/05/01 20:06

最近在看More Effictive C++ 做了一部分的总结内容,会慢慢更新,有些地方总结不到位,也可能理解有些偏颇,欢迎

评论指正,一起讨论讨论。


在C++中我们经常使用++或者--来实现变量的增减,以++为例:

前置++是先累加再取出,而后置++是先取出再累加,这个是从实际的使用上的直观感受。现在从C++语言规则上来看,

在语言上是如何区分前置后置呢,++的操作符形式都一样,从函数重载的角度去思考不难知道其中的奥妙,C++语言

规定了后置++函数有一个int变量,且被默认指定为0,这个变量并不参与任何运算,仅仅是用来区分前置与后置的。

那么前置++与后置++是如何实现的呢?


前置++:使用指针直接进行+1操作,然后返回对象指针

后置++:先创建临时对象,用于复制所需+1的对象,在后置++中使用前置++实现+1,返回临时对象。


所以从工作原理上来说使用前置++具有更高的效率,后置++因为创建了临时变量,存在构造以及析构过程,故而在使用

中尽量使用前置++;那么对于--操作也是同样的道理,也是尽量使用前置--操作;


0 0