1. 程式人生 > >c++記憶體模型,變數和函式

c++記憶體模型,變數和函式

1、c++中方法 儲存在單獨的方法表中,fuction——table,類中有方法指標來指向方法表中方法的實際地址,static和nonstatic 方法都儲存在方法表中。 2、c++中類的物件的 成員變數存在class中,static 變數儲存在class之外。 3、c++的成員指標式類似slot 插槽式設計,很容易計算class的大小。 4、每個class 產生一堆指向vitrul fuction的指標,這些指標放在一個表中,稱為virtual table(vtbl)。 5、c++中物件直接賦值,實際上發生的是copy構造 例如:Animals 是父類,Dog是子類,         Dog d;         Animals ani=d;             ani實際訪問到的其實還是ani能訪問的 ani初期編譯能訪問到的函式和變數,它並不是一個d物件。好繞口,好難講清楚。 6、c++通過指標和引用型別來實現多型,也就是隻有再指標型別和引用型別下能發生多型。