1. 程式人生 > >C++中的bool型別

C++中的bool型別

1 bool型別簡介

C++中的布林型別:

  • C++中bool的可取值只有true和false
  • 理論上bool只佔一個位元組(根據編譯器不同而不同)

注意: true代表真值,編譯器內部用1表示;false代表非真值,編譯器內容用0來表示。

布林型別的值:

  • bool型別只有true(非0)和false(0)兩個值
  • C++編譯器會將非0值轉換成true,0值轉換成false

注意: bool內部還是用一個位元組的整形實現的,為了相容C語言,是支援數學運算的。

測試程式碼如下:

#include <stdio.h>

int main(int argc, char *argv[])
{
    bool b =
false; int a = b; printf("sizeof(b) = %d\n", sizeof(b)); // 1 printf("b = %d, a = %d\n", b, a); // 0 0 b = 3; a = b; printf("b = %d, a = %d\n", b, a); // 1 1 b = -5; a = b; printf("b = %d, a = %d\n", b, a); // 1 1 a = 10; b = a; printf("a = %d, b = %d\n"
, a, b); // 10 1 a = 0; b = a; printf("a = %d, b = %d\n", a, b); // 0 0 return 0; }