普通的空类
空类的定义
空类就是没有任何数据成员的类。
空类的内存大小
按道理讲,没有数据成员,就不会占用内存,那么空类的大小就为0。
但是真实场景下,即便是空类在内存中,也占一个字节。
#include <iostream>
class CPeople
{
};
int main()
{
std::cout << "sizeof(CPeople): " << sizeof(CPeople) << std::endl;
CPeople *v1;
return 0;
}
输出结果为:
sizeof(CPeople): 1
为了对比,我们建一个新类,里面增加一个数据成员。
#include <iostream>
class A
{
};
class B
{
int i;
};<

本文探讨了C++中空类的内存占用问题。虽然理论上空类不包含任何数据成员,但实际占用1字节内存。这是因为C++标准规定对象不能有0大小,以确保不同对象拥有不同地址。当空类带有虚函数时,内存大小变为4字节,这是为了存储虚表指针,以便实现多态调用。
最低0.47元/天 解锁文章
14万+

被折叠的 条评论
为什么被折叠?



