我想知道爲什麼++
算過bool
定義......但是當我嘗試--
運營商,它不是爲bool
定義..爲什麼定義「++」運算符超過bool?但是「 - 」是不是在C++
是否有人可以給我解釋一下那背後的原因是什麼?
我想知道爲什麼++
算過bool
定義......但是當我嘗試--
運營商,它不是爲bool
定義..爲什麼定義「++」運算符超過bool?但是「 - 」是不是在C++
是否有人可以給我解釋一下那背後的原因是什麼?
參考文件: https://msdn.microsoft.com/en-us/library/tf4dy80a.aspx
當一個後綴或前綴++運算符應用於 bool類型的變量,該變量被設置爲真。後綴或前綴 - 運算符 不能應用於此類型的變量。
從操作數對象的標準5.2.6.1
值由 加1,除非對象是布爾類型,在這種情況下,它被設置爲true的修改。 [注:使用已過時, 見附件D.就要收注]
而且5.2.6.2重點煤礦
後綴的操作 - 類似於遞減到後綴++運算符,,除了操作數 不應該是bool類型。 [注意:前綴增量和減量請參見5.3.2。末端音符]
和附錄d
用布爾操作數D.1遞增運算符[depr.incr.bool] 1 ++運算符使用bool類型的操作數是棄用(見5.3.2和5.2.6)。
所以反過來說你不能這樣做的原因是因爲它違背了標準。
fyi增量使用已棄用。 –