答案:1
空型別的例項中不包含任何資訊,本來求sizeof應該是0,但是當我們宣告該型別的例項的時候,它必須在記憶體中占有一定的空間,否則無法使用這些例項。至於占用多少記憶體,由編譯器決定。visual studio中每個空型別的例項占用1位元組的空間。如果在該型別中新增乙個建構函式和析構函式,再對該型別求sizeof得到的結果又是多少?
答案:1
如果把析構函式標記為虛函式,sizeof得到的結果又是多少?
答案:(32位系統)4、(64位系統)8
c++的編譯器一旦發現乙個型別中有虛函式,就會為該型別生成虛函式表,並在該型別的每乙個例項中新增乙個指向虛函式表的指標。在32位的機器上,乙個指標佔4位元組的空間,如果在64位的機器上,乙個指針占8位元組的空間。
sizeof空型別不為空
乙個類的例項化物件所佔空間的大小?注意不要說類的大小 是類的物件的大小 首先,類的大小是什麼?確切的說,類只是乙個型別定義,它是沒有大小可言的。用sizeof 運算子對乙個型別名操作,得到的是具有該型別實體的大小。如果class a a obj 那麼sizeof a sizeof obj 那麼siz...
對虛擬繼承型別求sizeof
include include include include include include include include using namespace std class a class b public virtual a class c public virtual b class d ...
sizeof(空類或空結構體)
某童靴前天去理想國際某公司面試,回來在宿舍討論了這樣一道題 vc 裡,有乙個空類,沒有宣告任何成員變數或函式,請問此空類占多大位元組空間?a 0 b 1 c 4 d 8 當時考慮了32bit和64bit機器,並且指標位址是int型,32bit佔4個位元組或64bit佔8個位元組,因此選了c和d 後又...