類型別的大小

2021-06-26 17:07:58 字數 832 閱讀 5236

1:先看乙個空類的大小:

#include using namespace std;

class a

; int main(int argc, char** argv) ;

int main(int argc, char** argv)

~a() };

int main(int argc, char** argv)

~a() };

int main(int argc, char** argv)

virtual ~a() };

int main(int argc, char** argv)

virtual void fun()

virtual ~a() };

int main(int argc, char** argv) ;

class b;

class c

};class d };

int main(int argc, char** argv) ;

class b : public a

private:

char* p;

};class c: public b

b b;

};int main(int argc, char** argv) {

cout<

1.類的大小為類的非靜態成員資料的型別大小之和,也就是說靜態成員資料不作考慮。

2.普通成員函式與sizeof無關。

3.虛函式由於要維護在虛函式表,所以要佔據乙個指標大小,也就是4位元組。

4.類的總大小也遵守類似class位元組對齊的,調整規則

sizeof 類大小,空類大小

乙個類的例項化物件所佔空間的大小?注意不要說類的大小,是類的物件的大小.首先,類的大小是什麼?確切的說,類只是乙個型別定義,它是沒有大小可言的。用sizeof運算子對乙個型別名操作,得到的是具有該型別實體的大小。如果 class a a obj 那麼sizeof a sizeof obj 那麼siz...

sizeof 類大小,空類大小

乙個類的例項化物件所佔空間的大小?注意不要說類的大小,是類的物件的大小.首先,類的大小是什麼?確切的說,類只是乙個型別定義,它是沒有大小可言的。用sizeof運算子對乙個型別名操作,得到的是具有該型別實體的大小。如果 class a a obj 那麼sizeof a sizeof obj 那麼siz...

char 大小 空類的大小

通過菱形繼承關係討論在繼承體系中不同繼承的情況,base類和derive類的尺寸。class類之間的關係,用圖表示如下 在普通public繼承的體系下,上述繼承關係如下 在這種繼承體系下,所有的derived類都以public的形式繼承自base類。通過程式得到不同平台下的大小 繼承體系下所有的em...