05.了解c ++預設編寫並呼叫哪些函式
編譯器缺省會產生四個函式:預設建構函式,預設析構函式,預設拷貝建構函式,預設複製操作符(即 「=」 )
06.若不想使用編譯器自動生成的函式,就該明確拒絕
為駁回編譯器自動提供的機能,可將相應的函式宣告為 private 並不予實現。使用像 uncopyable 這樣的 base class 也是一種做法。
07.為多型基類宣告的虛擬析構函式
帶多型性質的 base class 應該宣告乙個 virtual 析構函式。如果 class 帶有任何 virtual 函式,他就應該擁有乙個 virtual 析構函式。
classes 的設計目的如果不是作為 base class 使用,或不是為了具備多型性,就不該宣告 virtual 析構函式。
08.別讓異常逃離析構函式
析構函式絕對不要突出異常。如果乙個被析構函式呼叫的函式可能丟擲異常,析構函式應該捕捉任何異常,然後吞下他們(不傳播)或結束程式。
如果客戶需要對某個操作函式執行期間丟擲的異常作出反應,那麼 class 應該提供乙個普通函式(而非在析構函式中)執行該操作。
09.絕不再構造和析構過程中呼叫虛函式
在建構函式和析構函式裡不要呼叫 virtual 函式,因為這個類呼叫不會降至 derived class 。也就是說,不好起到你想要的那個結果,會產生不確定情況。
10.令操作=返回乙個 reference *this
這只是協議,並無強制性,但是推薦這樣做。
11.在operations =中處理「自我賦值」
確定任何函式如果操作乙個以上的物件,而其中多個物件是同乙個物件時,其行為仍然正確。
12.複製物件時勿忘其每乙個成分
coping 函式應該確保複製「物件內的所有成員變數」及「所有 base class成分」。
不要嘗試以某個 copying 函式實現另乙個 coping 函式。應該將共同機能放進第三個函式中,並由兩個 copying 函式共同呼叫。
第二章 讀書筆記
第二章主要講的內容是搭建android 底層開發環境 其中包括 android 應用程式開發環境 android ndk 開發環境和交叉編譯環境的搭建。由於 android 基於linux 核心,所以搭建環境需要使用 linux 作為開發 linux 驅動的平台。它的底層開發需要的工具包含眾多的程式...
第二章讀書筆記
本章主要介紹搭建android 底層開發環境,主要包括 android 應用程式開發環境 android ndk 開發環境和交叉編譯環境的搭建。首先安裝jdk 並配置環境變數 搭建android 應用程式開發環境 1,安裝 android sdk 解壓後進入android sdk linux 目錄,...
《c primer》第二章讀書筆記
第二章 1.c 預處理器 include 預處理器將 中的標頭檔案新增到程式中。2.頭檔名 iostream這樣的檔案叫做包含檔案 標頭檔案。3.命名空間 using namespace std 4.使用cout cin進行c 輸出和輸入 cout string 控制符endl 換行 c 也支援c語...