第4課 - 布爾類型和引用

一、C++中的布爾類型

  1. C++在C語言的基本類型系統之上增加了 bool
  2. bool是C++中的基本數據類型,可以定義bool類型的全局變量,可以定義bool類型的常量,可以定義bool類型的指針,可以定義bool類型的數組。等等類型。
  3. C++中的bool可取的值只有true和false;true代表真值,編譯器內部用1來表示,false代表非真值,編譯器內部用0來表示。
  4. 理論上bool只佔用一個字節。
  5. C++編譯器會將非0值轉換爲true,0值轉換爲false,如圖1和圖2所示:

                                                      

                                                                                          圖1

                                                                      

                                                                                          圖2 

二、C++中的引用

  1. 變量是一段實際連續存儲空間的別名,程序中通過變量來申請並命名存儲空間,通過變量的名字可以使用存儲空間。
  2. 引用可以看作一個已定義變量的別名,引用的語法:Type& name = var;普通引用在定義時必須用同類型的變量進行初始化。操作引用就是操作變量。如下圖3和圖4所示:

                                    

                                                                                          圖3

                                    

                                                               圖4

三、三目運算符

  1. C語言中的三目運算符返回的是變量值,不能作爲左值使用。
  2. C++中的三目運算符可直接返回變量本身,既可作爲右值使用,又可作爲左值使用。但是三目運算符可能返回的值中如果有一個是常量值,則不能作爲左值使用。
  3. 下圖5的代碼分別用C語言編譯器和C++編譯器編譯將會得到不一樣的結果。C語言編譯的結果如圖6所示,C++編譯的結果如圖7所示。
  4. 從(3)可知,當三目運算符可能返回都是變量時,返回的是變量引用;當三目運算符可能返回中有常量時,返回的是值。如圖 8所示。

                                       

                                                                            圖5

                                       

                                                                            圖6

                                      

                                                                 圖7

                                   

                                                                             圖8

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章