布爾類型和三目運算符
阿新 • • 發佈:2018-11-29
根據 三目運算符 數值 數據 sys 使用 布爾類型 計算 lse Bool類型的true(非0),false(0) Bool 類型在參加數值運算的時候,和整數運算是一樣的,不過得到的結果,編譯器會根據true和false的定義來將計算的結果進行整理。將其值編程0或者1 Bool類型是C++ 中的基本數據類型,可以定義bool的全局變量、常量、指針、數組等
介紹
C語言中沒有具體的bool類型,在C中使用int 型的0和1來代表true和false,但是在C++中對C的布爾類型有了一個增強,增加了一種bool類型,其值為true和false,並且理論上在內存中只占用一個字節,但是C++的編譯器在編譯到true和false的時候也是用0和1分別代表false和true的
bool類型的計算
bool a = 0;
printf("a = %d\n",a); //0
a++;
printf("a = %d\n",a); //1
a = a-3;
printf("a = %d\n",a); //1
system("pause");
三目運算符:(C++對三面運算符進行了升級)
下面的代碼真確嗎?
int a = 1;
int b = 2;
(a < b ? a : b) = 3;
printf("a = %d, b = %d\n", a, b);
- C語言中三目運算符返回的是一個變量值,不能作為左值使用
- C++中三目運算符可直接返回變量本身,既可作為左值又可作為右值()
- 註意:三目運算符中所有可能返回的變量中,有一個是常量,就不能作為左值使用
C++中的引用
- 引用可認為是一個已經定定義的變量的一個別名
- 引用的語法:type& name = val;
int a = 1;
int& b = a;
printf("b = %d,a = %d\n",b,a);
printf("&b= %p\n",&b);
printf("&a= %p\n",&a);
變量名的回顧
- 變量是一段實際連續存儲空間的別名
- 程序中通過變量來申請並命名存儲空間
- 通過變量的名字可以使用內存空間
- C++中的變量可以有別名(就是引用)
小結
- bool類型是C++新增加的基礎類型
- bool類型值只能是true和false
- C++中的三目運算符可作為左值使用
- C++中的引用可以看作變量的別名來使用
- 三目運算符的可能返回值都是變量時,返回的是引用
布爾類型和三目運算符