c++ 類構造函數初始化清單
類構造函數初始化清單:
使用初始化清單是顯式地初始化,否則為指派
有的時候必須用帶有初始化清單的構造函數:
成員類型是沒有預設構造函數的類。若沒有提供顯示初始化式,則編譯器隐式使用成員類型的預設構造函數,若類沒有預設構造函數,則編譯器嘗試使用預設構造函數将會失敗。
const 成員或引用類型的成員。因為 const 對象或引用類型隻能初始化,不能對他們指派。
目前類的其他對象的pivate成員,對于目前類是可見的
s1, s2 在棧空間,p在堆空間,離開scope後p不會釋放,并且無法被通路
記憶體洩露?
不檢測自我指派,可能會涼
new做的3個動作:
調用malloc(void* 指針)
轉型
調用構造函數
pass by reference 不加 const 時,遇到臨時變量,不能編譯通過
in general, any time you need to write your own custom copy constructor, you also need to write a custom assignment operator.
48,寫31,如果還給作業系統,寫30
沒有人調用<code>getinstance</code>的話,<code>static a a</code>不會存在,首次調用後存在于全局空間。
composition
has-a
組合,擴充卡模式,
deque可以念diq或帶克
delegation
composition by reference
inherence
is-a
函數的繼承不應該從記憶體的角度去了解,而應該從調用權的角度去了解