天天看點

Essential C++ 讀書筆記 Ch2

2.1如何編寫函數

函數的4個部分:傳回類型,函數名,參數清單,函數體。

2.2函數的調用

兩種參數傳遞方式:by value 和 by reference。

pass by reference

面對reference的所有操作都和面對“reference所指的對象”所進行的操作無二。

将參數聲明為reference的兩個理由:1.希望直接對所傳入的對象進行修改。2.希望降低複制大型對象的額外負擔。如果目的僅僅是2,那麼建議加上const。

pointer 可能并不指向某實際的對象。提領pointer是,一定要先确認其值非零。

作用域 scope

file scope内的對象具有所謂的static extent,意思是該對象的記憶體在main()開始執行之前即已經配置設定好。

動态記憶體管理

heap memory是由程式員自行管理的記憶體。

2.3提供預設參數值

預設參數值的resolve操作由最右邊開始執行。

預設參數值隻可以指定一次,為了更高的可見性,我們決定将預設值放在函數聲明處而非定義處。

2.4使用局部靜态對象

file scope對象會打斷各個函數之間的獨立性,使他們難以了解。

2.5 聲明inline函數

2.6 重載

參數清單不相同(參數類型不同,或者是參數個數不同)的兩個或多個函數可以擁有相同的名稱

為什麼傳回類型不足以将函數重載?傳回類型無法保證提供給我們一個區分不同的重載函數的語境。

2.7 定義并使用模闆函數

2.8 函數指針

索引值

2.9 設定頭檔案

繼續閱讀