2011-04-05 33 views

回答

25

布爾型true是一個布爾值。每當你想表達某個二元條件時,使用它

整型文字1是一個數字。每當你計算一些東西時使用它。

請勿將整數用於布爾值,反之亦然。他們是不同的。考慮一個變量int isEnabled。當然,我猜想01可能是這個變量的唯一預期值。但在語言方面,沒有任何東西阻止我分配4247891。但是,使用布爾值會將有效值限制爲truefalse。這沒有留下任何猜測的餘地。

(C++廉政局和布爾變量有些敞篷車,但它通常皺眉)

+3

在內存方面布爾值也小很多。 – 2011-04-05 16:04:56

+2

只是爲了增加Justin Satyr所說的內容: Integer的通常是4bytes(32bits),而布爾值是1byte(8bits)。這些都依賴於平臺,但我知道這是正確的所有主要平臺。 (是的,布爾應該在完美的世界中是1位,但是不可能只參考內存中的一位) – 2011-04-05 16:10:42

+2

@Justin Satyr很多小的是std :: vector 與std :: vector 相比在其他情況下你需要考慮到一致性。 – Begemoth 2011-04-05 16:11:12

10

我建議使用true如果你的類型在邏輯上是一個布爾值。就意圖而言,這將更加清晰,這使您的代碼更易於維護。

3

對於什麼?對布爾值使用布爾值;在計算某物時使用整數。