x += a比x = x + a更快吗?

86

我正在阅读 Stroustrup 的《C++ 程序设计语言》,他提到了两种将值加到变量中的方式。

x = x + a;

x += a;

他更喜欢使用+=,因为它很可能被更好地实现了。我想他的意思是这样做速度更快。
但是真的吗?如果它取决于编译器和其他因素,我该如何检查?


47
《C++程序设计语言》首次出版于1985年,最近一版发行于1997年,2000年还出版了该版本的特别版。因此,部分内容已经严重过时。 - JoeG
5
这两行代码可能会执行完全不同的操作。你需要更具体一些。 - Kerrek SB
27
现代编译器已经足够智能,以至于这些问题被视为“过时”。 - gd1
2
重新打开此问题,因为重复的问题询问的是C而不是C ++。 - Kev
显示剩余7条评论
11个回答

2
不,两种方式都会得到相同的处理。

10
如果它是一个具有重载运算符的用户定义类型,则不是这样。 - user395760

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接