1.一个空的类大小:sizeof(A) = 1
class A
{
};
2.类中有各种方法(不含有虚函数)大小为:1 ;加各种方法包括静态方法或者静态成员变量都不会增加类的大小
class A
{
public:
A(){
printf("This A 构造\n");
}
~A(){}
public:
void Test(){}
private:
};
3.类中有虚函数,结果: 原因是虚函数指针形式保存在虚函数表中,然后类的初始大小1会被优化掉。
class A
{
public:
A(){
printf("This A 构造\n");
}
~A(){}
public:
void Test(){}
virtual void VTest(){}
private:
};
4.类中有基本数据类型,
a)结果 4+4+4=12
class A
{
public:
A(){
printf("This A 构造\n");
}
~A(){}
public:
void Test(){}
virtual void VTest(){}
private:
int nA;
int nB;
};
b)结果 受字符对齐影响,结果就是24字节
class A
{
public:
A(){
printf("This A 构造\n");
}
~A(){}
public:
void Test(){}
virtual void VTest(){}
private:
int nA;
int nB;
double dC;
};