我有一個變量,它值可以從0到1不同,所以我想用一個bool類型用於保持該值。你可以使用C++中的bool和int操作符執行哪些操作?
在C++基於這種想法是什麼操作都可以做我的第一個操作數是布爾和秒的是整數或浮點數的類型?
例如,這是否有效?
bool exists;
int value;
(...)
value += exists;
value *= exists;
如果是的話,直到C++這些值轉換成他們二進制佔有並沒有發現問題,這樣做對那些二進制數的操作,它是有效與做業務不同的操作數?
有意思,'bool b = false; b + = 10;'編譯在gcc上,我想知道這是什麼意思,儘管 – Slava
@Slava,它意味着'bool'被提升爲'int',結果爲0,而算術運算結果爲10,而不是轉換爲' bool'結果爲1. – SergeyA
@Sergey有趣,'++ b'又如何呢?編譯器會生成'b = true;'而不是在這種情況下? – Slava