類定義僅提供該類的類型定義,不佔用內存空間,只有在定義了類的對象之後,編譯系統纔會給對象在內存中分配相應的內存空間,用以存放對象的數據成員值。
類是一種類型,sizeof(類)跟sizeof(int)相似,計算該類型實例化需要多少空間;
空類類型實例化,需要佔1個字節;虛繼承空類的空類,sizeof爲4,因爲涉及虛表。
空類類型爲什麼需佔一個字節,深度探索c++對象模型中是這樣說的:
那是被編譯器插進去的一個char ,使得這個class的不同實體(object)在內存中配置獨一無二的地址。也就是說這個char是用來標識類的不同對象的