C++Primer 第六章 函式

MarvinYSh發表於2018-05-09

知識點:

1.實參(argument)是形參(parameter)的初始值。第一個實參初始化第一個形參,以此類推

2.c++中,名字有作用域,物件有宣告週期(lifetime)。

3.形參和函式體內部定義的變數統稱為區域性變數(local variable)

4.自動物件(automatic object),只存在於塊執行期間。

5.區域性靜態物件(local static object)

6.函式原型(function prototype),即函式宣告

7.建議使用引用型別的形參替代指標。

8.如果函式無須改變引用形參的值,最好將其宣告為常量引用。

9.不允許拷貝陣列,使用陣列(通常)會將其轉換成指標。

10.管理指標形參三種技術: 使用標記指定陣列長度;使用標準庫規範;顯示傳遞一個表示陣列大小的形參。

11.initiaalizer_list形參,函式的實引數量未知但是全部實參的型別都相同。

12.在含有return語句的迴圈後面應該也有一條return語句,如果沒有的話該程式就是錯誤的,很多編譯器無法發現此類錯誤。

13.main函式的返回值可以看作是狀態治時期。返回0表示執行成功,返回其他值表示表示執行失敗。main函式不能呼叫自己。

14.如果同一個作用域內的幾個函式名字相同但形參列表不同,稱之為過載(overload)。main函式不能過載。

15.不允許兩個函式除了返回型別外其它的所有要素都相同。否則第二個報錯。最好只過載那些確實非常相似的操作。const_cast在過載函式的情境中最有用。

16.函式匹配(function matching)指這一過程:把函式呼叫與一組過載函式中的某一個關聯起來,也叫過載確定(overload resolution)。三種結果:最佳匹配(best match);無匹配(no match)二義性呼叫(ambiguous call)

17.一個形參被賦予了預設值,它後面的所有形參都必須有預設值。

18.constexpr函式是指能用於常量表示式的函式,返回值和形參的型別都是字面值型別,函式體中必須有且只有一條return。不一定返回常量表示式。

19.行內函數和constexpr函式放在標頭檔案中。

20.呼叫過載函式時應儘量避免強制型別轉換。如需要,說明設計不合理。





習題:


相關文章