对于一个空对象,占用的内存空间是1字节,是为了区分空对象占内存的位置
Person p;
cout <<sizeof(p)<<endl;//输出1
当该对象的内容不是空,而是有了成员变量,则其占用内存直接变为成员变量类型的大小,比如:
class Person{
int m_A;
};
此时再创建类的对象,就是4字节内存大小
若类中再定义了一个静态成员变量,static int m_b; 类的对象还是4字节内存大小,因为静态成员变量不属于类的对象上
若类中再定义了一个成员函数,void func(){}; 类的对象还是4字节内存大小,因为成员函数也不属于类的对象上
若类中再定义了一个静态成员函数,static void func(){}; 类的对象还是4字节内存大小,因为静态成员函数也不属于类的对象上