class Persion
{
};
void text01()
{
Persion p;
int ss[11];
cout << "size of = " << sizeof(p) << endl;
cout << "数组总打小: " << sizeof(ss) << endl;
cout << "每一个数组元素的大小: " << sizeof(ss[0]) << endl;
cout << "计算数组长度: " << sizeof(ss) / sizeof(ss[0]) << endl;
}
如图所示:如果是空类,会占用一个字节的空间大小。C++编译器会为每个对象分配一个字节的空间,是为了区分空对象占内存的位置,每个空对象也有一个独一无二的地址
class Persion
{
int a;
int b;
static int c;
static void show() {}
void show1() {}
};
int Persion::c = 0;
void text01()
{
Persion p;
int ss[11];
cout << "size of = " << sizeof(p) << endl;
}
如图所示:对象中定义了两个非静态成员变量,静态变量、静态函数和非静态函数,只有非静态成员变量会增加对象占用的空间,别的其他的都不会增加对象占用空间,最起码静态的不属于这个类,然后发现非静态的函数也不属于这个类