目前我正在从c引物中学习c。据说使用++
运算符可以提高程序的效率,因为它类似于机器级语言。
所以我想知道它与机器级语言的相似之处 此外,它与先前询问的有关添加操作的问题不同
答案 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的方法可能都是相同的。