本週主要學習內容:函數
一. vptr以及基於vptr的動態綁定機制學習
其實C++標準並無規定如何實現多態,不過彷佛目前全部的C++編譯器都是經過vptr來實現多態。對象
不過具體說到vptr在內存中的具體位置(對象開頭仍是對象末尾)彷佛不一樣編譯器仍是有不一樣的實現。內存
此外,我我的認爲C++對象模型大概知道下游那麼一回事就OK了,不須要也不可以依靠該模型搞一些編譯器
「聰明」的技巧,這樣極可能會在未來給代碼帶來難以察覺的問題。編譯
二.operator new,operator deleteclass
這裏主要是要區分new表達式和operator new(delete也相似)。new表達式先調用operator new分配空間,而後在構造函數
該空間上調用構造函數。class中只能重載operator new而不是重載new表達式。而且重載operator new不管是否加上技巧
static 修飾,它都是static函數。static