代码如下,这里我主要想看静态变量的内存是不是算在类中的。
1、一开始定义一个空的类,什么都没有,sizeof(A)的结果是1.
2、加入一个静态变量num,sizeof(A)的结果还是1。
3、加入一个成员变量之后,sizeof(A)的结果变成4。
4、其实如果在这里加入一个虚函数,sizeof之后会变成8,多了四个字节,因为有了虚函数,就多了一个指向vtable的指针。
#include<stdio.h>
class test
{
public:
static int num;
int k;
};
void main()
{
test A;
test::num;
printf("%d\n",sizeof(A));
getchar();
}