C Primer Plus 第十二章筆記

2021-08-17 01:51:46 字數 1167 閱讀 1007

1.      呼叫複製建構函式:

當函式按值傳遞物件或函式返回物件時,都將使用複製建構函式。

2.      如果類中包含了使用new初始化的指標成員,應當定義乙個複製建構函式,以複製指向的資料,而不是指標,稱為深度賦值。複製的另一種形式只是複製指標值,僅淺淺地複製指標資訊,稱為淺複製。

3.      將已有的物件賦給另乙個物件時,將使用過載的賦值運算子;初始化物件時,並不一定會使用賦值運算子。

4.      賦值運算子是只能由類成員函式過載的運算子之一。

5.      將成員函式宣告為靜態的,函式宣告必須包括關鍵字static而定義不用。不能通過物件呼叫靜態成員函式,也不能使用this指標。如果靜態成員函式是在公有部分宣告的,可以使用類名和作用域解析運算子來呼叫它。靜態成員函式不與特定的物件相關聯,只能使用靜態資料成員。

6.      定義乙個複製建構函式和乙個賦值運算子(以string類為例):

7.      返回物件將呼叫複製建構函式而返回引用不會。

8.      過載

9.      單個值轉換為類型別的類建構函式及類轉換為其他型別的類成員函式:

宣告時使用關鍵字explicit可防止被用於隱式轉換。

10.  對於const資料成員,必須在執行到建構函式體之前,即建立物件之前進行初始化,可運用成員初始化列表完成。成員初始化列表由逗號分隔的初始化列表組成(前面帶冒號)。只有建構函式可以使用這種初始化列表語法。對於const類成員和被宣告為引用的類成員,必須使用這種語法。

注意:資料成員被初始化的順序與它們出現在類宣告中的順序初始化,與初始化器中的排列順序無關。

11.  成員初始化列表使用的括號方式也可用於常規初始化。

12.  定義偽私有方法避免了本來將自動生成的預設方法定義,且方法不能被廣泛使用。

第十二章 檔案

文字檔案 文字檔案是一種由若干字元構成的檔案,可以用文字編輯器進行閱讀或編輯。以txt py html等為字尾的檔案都是文字檔案。2.二進位制檔案 二進位制檔案一般是指不能用文字編輯器閱讀或編輯的檔案。以 mp4 png等為字尾的檔案都是二進位制檔案,如果想要開啟或修改這些檔案,必須通過特定軟體進行...

第十二章 dp

動態規劃策略 將原始問題拆分為多個子問題,將子問題結果記錄,方便復用子問題的解 遞迴 記憶化 遞推 是動態規劃的一體兩面,本質都是一樣的 遞推減少了呼叫次數,空間上還能優化,一般選擇遞推方式 遞迴 記憶化 int memo maxn 將o 2 n o n intfibonacci int n 遞推 ...

第十二章 異常

一 異常的概念 錯誤 編譯器 異常 執行期,程式沒有正常按照期望執行 異常產生時,在對應位置產生異常型別物件,程式 暫停 如果上下文有異常處理程式,對應處理 沒有則 異常向上傳播 報錯退出 異常向上傳播 如果異常在函式中產生,會傳播給函式的呼叫者 如果異常在模組的頂級位置,會傳播給引用該模組的模組 ...