C++前置式后置式递增和复合赋值操作符对程序性能

来源:互联网 发布:怎么把mac文件拷到硬盘 编辑:程序博客网 时间:2024/06/05 11:37

n++要开辟一个变量来保存n的值并返回,然后让n这个变量中的值加 1。
++n直接把1加到n这个变量的空间中去,并返回n这个空间中的值,没有开辟任何临时空间,性能更高。

n+=1n=n+1在结果上是等价的。但使用复合赋值操作符+=时,直接把1加到变量n的空间中去,左操作数只计算了一次加法;而使用长表达式 n=n+1时,先要去n这个变量空间中去取值(要寻址),与1做一次加法计算,然后做一次赋值计算把结果存入到n这个空间中,这样左操作数n计算了两次。因此,n+=1的性能更高。事实上,这也是复合赋值操作符存在一个基本原因。很多人刚开始八成会困惑,为什么会存在+=,-=,*=这样的操作符,能提高程序的性能就是其中的一个原因。

0 0
原创粉丝点击