了解C++类的大小和类变量的字节对齐
生活随笔
收集整理的這篇文章主要介紹了
了解C++类的大小和类变量的字节对齐
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
空類;
空類沒有內容,但是需要分配地址;大小為1個字節;
基礎類;
下圖類占用8個字節;i 是四字節;c本身是一字節大;為對齊填充了3個字節;總大小是8字節;
?
double為8字節大;下圖,4 + 4 + 8 = 16;
?
帶虛函數的情況;
下圖類占用12個字節,
四字節對齊2個變量共占用8個字節;由于存在虛函數,在類開始位置插入了一個虛函數指針,該指針占用4個字節,共計12字節;類的非虛函數不占用類對象的內存,函數編譯后形成二進制文件放在內存中的代碼段區;
?
類繼承的情況;
基類大小為8個字節;繼承類大小為12字節;繼承類繼承了基類的變量;
在內存中基類在派生類的前面;這就在看不到的情況下系統復制了一份數據;
?
?
總結
以上是生活随笔為你收集整理的了解C++类的大小和类变量的字节对齐的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Bochs调试Linux内核初步学习 -
- 下一篇: VC++ 中MSDataGrid控件的使