在c語言提供的字元、整型、浮點型、指標、陣列、結構和列舉等幾類型別的基礎上,c++又新增了兩類基本型別,分別為布林型和引用型別。
c
語言中沒有明確地提供布林型別,布林型別的實現往往是通過巨集定義或型別定義實現。c++
為邏輯運算提供了單獨的布林型別(bool
),可以具有值true
或false
之一,其中true
的值被定義為1,false
的值定義為0。在算術運算中布林型都被轉換為int
。整數、字元、浮點數可以隱式轉換為布林型,其中非零數表示true
,零表示false
。指標也可以隱式轉換為布林型,非零指標轉換為true
,空指標轉換為false
.
/**
****
****
****
****
****
****
****
****
****
*** * using_bool.cpp *
* *
* c++語言的基本型別bool型的使用 *
引用就是某物件的另乙個名字,引用的符號為&,常代替指標用於函式引數,避免傳遞過大資料或支援在函式中修改外部變數的值。也常用於返回值,用以返回某個在函式範圍外仍有意義的變數的引用。在c++的運算子過載中引用也發揮著重要作用。
引用的定義形式為:
型別& b = a;
定義了乙個引用a
的變數b
,a
和b
指向同一塊記憶體空間。與指標不同,變數b
是變數a
的乙個別名,任何使用a
的地方都可以使用b
替換。指標的定義形式為型別 *b = &a
,使用*b
和a
替換。
在定義引用的時候必須對引用進行初始化。引用的值在初始化後就不能被改變了,它將總指向它初始化時指定的那個物件。對t&
型別的引用的初始化必須是左值。而對於const t&
型別的引用的初始化可以不是左值,也可以不是t型別的,在這種情況下,首先將值轉換為t
型別,然後將結果存入乙個型別t的臨時變數,最後將此臨時變數用作初始化的值。在使用這個原則時,注意那些在程式執行過程中會消失的臨時變數,在變數消失後,引用變得沒有意義。
/*****************************************
* using_reference.cpp *
* *
* c++語言中的引用 *
bjarne stroustrup著,裘宗燕譯. c++程式語言(特別版).機械工業出版社 2009.
C 相對於C的增強
1.c 更嚴格的語法 更嚴格的型別轉換 更嚴格的語法 更嚴格的型別轉換 c 不同型別的變數一般不能直接賦值,需要相應的強制轉換 新增 bool 型別,有 true false,乙個位元組 2.struct型別增強 c 中定義結構體變數不必加 struct 且可以定義成員函式 struct a a 變...
c 相對於C提供的新的函式特性
新特性包含 內聯函式 按引用傳遞變數 預設的引數值 函式過載 多型 以及模板函式。內聯函式 是c 為了提高程式執行速度所做的一項改進。常規函式與內聯函式的區別不在於編寫方式,而在與c 編譯器如何將他們組合到程式中。程式執行函式呼叫指令時,程式將在函式呼叫後立即儲存該指令的記憶體位址,並將函式引數複製...
IOS OC 相對於C 資料型別
oc 中支援c語言中的所有資料型別 1.基本資料型別 int,double,float,char 2.構造型別 陣列,結構體,列舉 3.指標型別 int p1 4.空型別 void 5.typedef 自定義型別 typedef int money oc 型別 1.bool 型別 可以儲存yes 或...