C 快速入門 2

2021-08-16 02:59:31 字數 1855 閱讀 6781

你可能會遇到需要在乙個函式中初始化一塊記憶體的場景,這時,你應該使用二級指標,原因是實參和形參不是同乙個指標,在函式結束後,形參指標將會被釋放,結果是實參最終還是指向本身所指向的空間。

如下所示使用二級指標或者一級指標的引用。

void

init

(node *

* node)

//當你使用引用

void

init

(node *

&node)

const關鍵字使得其修飾變數具有唯讀屬性。

const

int& a =

200;

int q =

200;

const

int&p = q;

更多的是作為函式的形參

void

println

(const

int&a)

使用內聯函式可以提高程式的執行效率,用inline修飾該函式即可,編譯器會把函式的**貼到可執行的地方,當然,如果你使用了大量的迴圈,比較銷毀記憶體的函式的時候,編譯器就不會把該函式設定成內聯函式,因為內聯函式雖然提高了程式的執行效率,但是在一定程度上也加大了記憶體的開銷。

inline void

test

(int a)

intmain()

在c++中使用預設值作為函式的引數,如果你在呼叫函式時進行傳參,則採用你傳遞的引數,否則就採用預設的值作為函式的引數。

void

test

(int a =1)

intmain()

函式過載滿足的條件是,函式名相同,引數不同,引數可以是引數的個數和型別,值得注意的是,函式的返回值型別不能作為函式過載的條件,如果使用了預設值引數的函式,也不能作為函式過載的條件

void

test

(int a)

void

test

(char a)

intmain()

呼叫這個過載函式的時,傳什麼型別的引數,編譯器就會根據型別來匹配對應的函式。

//下列寫法是不可取的

inttest

(int a)

void

test

(int a)

void

test

(int a =1)

void

test

(int a=1,

int i =2)

當使用函式指標的時,編譯器會根據函式指標的引數型別自動匹配過載的函式

void

test

(int a)

void

test

(char a)

typedef void

(* fun)

(int a)

;int

main()

這時func會指向test(int a)函式

c 划水快速入門 2

這一次會主要精簡一下我之前做過的筆記,以及有一些大段的東西也仍然是直接複製的,但是也會標記好引用 其實就是加乙個const const int a 5 那麼a就永遠是5了 const 資料型別 常量名 值 來自呵呵老師 public enum 列舉名 只能放在class或者namespace中 列舉...

tinyxml快速入門 2

在 tinyxml快速入門 一 中我介紹了使用tinyxml庫如何建立和列印xml檔案,下面我介紹使用tinyxml庫對xml檔案進行一系列的操作,包括獲取xml檔案宣告,查詢指定節點 刪除指定節點 修改指定節點和增加節點的用法。在 tinyxml快速入門 一 中我們知道xml檔案中的乙個節點元素實...

C 快速入門

1.1 呼叫 gnu編譯器的預設命令是 g g prog.cc o prog unix 的 shell視窗 cc prog.cc 標準的輸入與輸出物件 處理輸入時使用的命令 cin cin為 istream型別物件 處理輸出時使用的命令 cout cout為 ostream型別物件 標準庫的另外兩個...