C++类的存储空间和空间大小的问题
C++类在内存里是存在哪个区呢?大小是根据什么来判断的?
例如
定义了3个类来测试一下
class c1{
};
class c2{
int a;
};
class c3{
int a;
int b;
};
那么sizeof(c1)=1,sizeof(c2)=4,sizeof(c3)=8 为什么呢?
他们的大小只是跟里面定义的私有属性相关吗?如果里面有函数或则其他的东西会不会影响呢?
盼大虾解答!!!
[解决办法]
找本书看: Inside C++ Object Model (深入探索C++对象模型).
[解决办法]
普通成员函数不分配空间,可以把他当作是库函数使用,因为它是静态绑定的。
但是当类中定义了虚函数,要有4个字节(多个虚函数也是4个字节)的指针指向虚函数表。
剩下的成员定义顺序分配并按#pragma pack(n)中的n对齐(windows默认为2)
http://community.csdn.net/Expert/topic/5573/5573227.xml?temp=.9110987
希望对你有些帮助
[解决办法]
是这个
http://community.csdn.net/Expert/topic/5573/5573227.xml?temp=.499798
[解决办法]
也可以看一下
http://community.csdn.net/Expert/TopicView.asp?id=5558320