2013-10-17 124 views
4

在使用C++進行編程時,我經常會混淆「+ =」和「= +」,前者實際上就是我的意思。 Visual Studio似乎同時接受,但他們的行爲有所不同,是我的很多錯誤的來源。我知道+ = b在語義上等價於a = a + b,但是「= +」是做什麼的?C++中+ =和= +之間的區別

+1

由於人們已經回答了,你應該使用'+ ='和'不= +'。如果您發現自己經常犯這樣的錯誤,那麼只需在文件中寫出需要查找的事項的清單並定期(在發佈之前)修復。 '= +'會是這些事情之一。您也可以添加通常的拼寫錯誤 - 長度爲''lenght',格式不正確''if('if for(',等等)到列表中。 –

回答

12

=+真的是= +(轉讓和一元運算符+)。

爲了幫助您記住+=,請記住它會先添加,然後再進行賦值。當然,這取決於實際的實施,但它應該是原始的。

6

a =+ b意味着a = +b意味着a = b

+8

除非一元'+'重載。 –

+0

除非'b'是一個小於「int」的整數類型,在這種情況下,它將'b'提升爲'int'並進行賦值。 –