首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >++nc与nc = nc +1

++nc与nc = nc +1
EN

Stack Overflow用户
提问于 2011-12-23 09:00:11
回答 5查看 616关注 0票数 4

在K&R中Ch 1:

语句++nc提供了一个新的操作符++,这意味着增加1。您可以编写nc = nc + 1,但是++nc更简洁,而且效率更高。

什么时候加薪前会比其他方案更有效率?至少在大多数情况下,两者的程序集都是add (编辑:或inc)指令。他们什么时候不同?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-12-23 09:02:30

那篇课文已经过时了。在70年代,编译器可能会为++n提供更高效的输出,但不会有更多的结果。所有现代编译器都会产生相同的代码。

票数 10
EN

Stack Overflow用户

发布于 2011-12-23 09:03:08

在大多数情况下,至少两者的程序集都是add指令。

这并不完全正确:通常有一个separate "increment by one" instruction。然而,这是不相关的,因为任何半体面的编译器都会为++ncnc = nc + 1生成相同的机器代码。

换句话说,没有性能上的差异。也许是在书写的时候,编译器不是很好,但现在已经不存在了。

票数 3
EN

Stack Overflow用户

发布于 2011-12-23 09:03:09

我不确定,我只是大声地思考(也许我不应该):也许在K&R时代,++nc被编译成比nc = nc + 1更有效的东西(例如,增量指令,而不是添加)。然而,现在编译器可能会自动地对此进行优化。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8614001

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档