类占用内存

来源:互联网 发布:免费下载visio软件 编辑:程序博客网 时间:2024/05/17 01:09

#########################333

1 类的对象的内存占用

class A{};class B{char ch;void fun(){}};class C{char ch1;char ch2;virtual void func(){}//而虚函数本身和其他成员函数一样,是不占用对象的空间的};class D{int in;virtual void func(){}};void main(){A a;B b;C c;D d;cout<<sizeof(a)<<endl; //C++中规定类的大小不为0,空类的大小为1.cout<<sizeof(b)<<endl;//一个对象的(大于)等于所有非静态成员大小的总和cout<<sizeof(c)<<endl;//虚函数(不管是1个还是多个),那么在实例化对象时,                                    //编译器会自动在对象里安插一个指针指向虚函数表VTable,在32位机器上,一个对象会增加4个字节来存储此指针cout<<sizeof(d)<<endl;}

class demo1{};class demo2{static int num;};class demo3{virtual int print(){}virtual int print1(){}};class demo4{void print(){}static void print1(){}};class demo5{char a;};int main(){cout<<sizeof(demo1)<<endl; //空类大小为1cout<<sizeof(demo2)<<endl;//静态成员不占用cout<<sizeof(demo3)<<endl;//多个虚函数占4cout<<sizeof(demo4)<<endl;//静态函数和对象函数不占用cout<<sizeof(demo5)<<endl;//char占1demo5 d;cout<<sizeof(d)<<endl;//对象和类一样return 0;}


0 0
原创粉丝点击