一、C++中的布爾類型
- C++在C語言的基本類型系統之上增加了 bool
- bool是C++中的基本數據類型,可以定義bool類型的全局變量,可以定義bool類型的常量,可以定義bool類型的指針,可以定義bool類型的數組。等等類型。
- C++中的bool可取的值只有true和false;true代表真值,編譯器內部用1來表示,false代表非真值,編譯器內部用0來表示。
- 理論上bool只佔用一個字節。
- C++編譯器會將非0值轉換爲true,0值轉換爲false,如圖1和圖2所示:
圖1
圖2
二、C++中的引用
- 變量是一段實際連續存儲空間的別名,程序中通過變量來申請並命名存儲空間,通過變量的名字可以使用存儲空間。
- 引用可以看作一個已定義變量的別名,引用的語法:Type& name = var;普通引用在定義時必須用同類型的變量進行初始化。操作引用就是操作變量。如下圖3和圖4所示:
圖3
圖4
三、三目運算符
- C語言中的三目運算符返回的是變量值,不能作爲左值使用。
- C++中的三目運算符可直接返回變量本身,既可作爲右值使用,又可作爲左值使用。但是三目運算符可能返回的值中如果有一個是常量值,則不能作爲左值使用。
- 下圖5的代碼分別用C語言編譯器和C++編譯器編譯將會得到不一樣的結果。C語言編譯的結果如圖6所示,C++編譯的結果如圖7所示。
- 從(3)可知,當三目運算符可能返回都是變量時,返回的是變量引用;當三目運算符可能返回中有常量時,返回的是值。如圖 8所示。
圖5
圖6
圖7
圖8