增量运算符(++ / - )如何提高程序的效率

时间:2017-05-21 10:15:59

标签: c

目前我正在从c引物中学习c。据说使用++运算符可以提高程序的效率,因为它类似于机器级语言。

所以我想知道它与机器级语言的相似之处 此外,它与先前询问的有关添加操作的问题不同

2 个答案:

答案 0 :(得分:3)

现在无所谓,即C语句

i++;

在效率方面与

相同
i += 1;

i = i + 1;

现代编译器非常清楚所有上述语句都是相同的,并使用最有效的CPU指令。

答案 1 :(得分:0)

使用现代工具和编译器,没有理由认为一个比另一个好。这是“语法糖果”。如果您想确定,请反汇编代码并检查差异。我经常进行反汇编,在微控制器的世界中进行检查,每个时钟周期都在计算(并且可以计算),而且我从未见过一个选择或者其他一个改变性能。

然而,++ x和x ++可能因条件而异,因为++ x在下次使用之前增加X 并且x ++在之后递增:

int x = 0;
while (x++ < 10) { do something }

行为与

不同
int x = 0;
while (++x < 10) { do something}

但就性能而言,使用现代工具,所有将x递增1的方法可能都是相同的。