C 相對於C的兩種新的內建型別

2021-07-05 03:12:48 字數 2026 閱讀 3889

在c語言提供的字元、整型、浮點型、指標、陣列、結構和列舉等幾類型別的基礎上,c++又新增了兩類基本型別,分別為布林型和引用型別。

c語言中沒有明確地提供布林型別,布林型別的實現往往是通過巨集定義或型別定義實現。c++為邏輯運算提供了單獨的布林型別(bool),可以具有值truefalse之一,其中true的值被定義為1,false的值定義為0。在算術運算中布林型都被轉換為int。整數、字元、浮點數可以隱式轉換為布林型,其中非零數表示true,零表示false。指標也可以隱式轉換為布林型,非零指標轉換為true,空指標轉換為false.

/**

****

****

****

****

****

****

****

****

****

*** * using_bool.cpp *

* *

* c++語言的基本型別bool型的使用 *

引用就是某物件的另乙個名字,引用的符號為&,常代替指標用於函式引數,避免傳遞過大資料或支援在函式中修改外部變數的值。也常用於返回值,用以返回某個在函式範圍外仍有意義的變數的引用。在c++的運算子過載中引用也發揮著重要作用。

引用的定義形式為:

型別& b = a;
定義了乙個引用a的變數bab指向同一塊記憶體空間。與指標不同,變數b是變數a的乙個別名,任何使用a的地方都可以使用b替換。指標的定義形式為型別 *b = &a,使用*ba替換。

在定義引用的時候必須對引用進行初始化。引用的值在初始化後就不能被改變了,它將總指向它初始化時指定的那個物件。對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 或...