bool

整數

整數包含char, bool, short, unsinged short, int, unsinged int, long, unsinged long

整數型態 占用Byte數量 數值範圍 格式字串 輸出格式
bool 1 0 1 %d 整數

0是false,非0為true。

1
2
3
  bool b3 = '0';
  bool b4 = 0;
  cout << "b3=" << b3 << ",b4=" << b4 << endl;
執行結果
b3=1,b4=0

可使用true跟false設定bool變數

編譯器會自動把true翻譯成整數1,false翻譯成整數0。

1
2
  bool b1 = true, b2 = false;
  cout << "b1=" << b1 << ",b2=" << b2 << endl;
執行結果
b1=1,b2=0

bool整數運算

因為bool是整數,所以bool能做整數運算。但bool顯示出來只會是0或1,即便設的值是2,顯示出來的值仍是1。

1
2
3
4
  bool b5 = 1;
  bool b6 = 2;
  cout << "b5 = " << b5 << ", b6 = " << b6 << endl;
  cout << "b5 + b6 = " << b5 + b6 << endl;
執行結果
b5 = 1, b6 = 1
b5 + b6 = 2

cin只能輸0或1,不能輸入true或false

1
2
3
  bool b7;
  cin >> b7;
  cout << "b7 = " << b7 << endl;
執行結果
1
b7 = 1
執行結果
true
b7 = 0

證明bool為整數

1
2
3
4
  bool b8 = false;
  char* c5 = (char*)&b8;  
  *c5 = 8;
  cout << "b8 = " << b8 << endl;

results matching ""

    No results matching ""