类内存布局与虚函数表
本篇文章于 823 天前发表,某些内容可能已经过时,请注意甄别。
类内存布局 + 虚函数表
sizeof(C)的数值是()
c++
1 | class C |
类的内存布局:
类中 static 修饰的变量不占用类大小,因为修饰后存储在静态区域。
sizeof 是用来计算栈大小,不涉及全局区,故类的静态成员大小 sizeof 不涉及。
对于 new 或 malloc 开辟的区域,sizeof 计算的也只能是其指针的大小,无法得到开辟的内存大小!
类与结构一样,都有字节对齐的问题。
含有虚函数的类中,类起始地址会放置一个指向虚函数表的指针,也占类的内存。
类中的枚举也不会占用内存。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 极简!
评论