首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++类的存储空间和空间大小的有关问题

2012-02-08 
C++类的存储空间和空间大小的问题C++类在内存里是存在哪个区呢?大小是根据什么来判断的?例如定义了3个类来

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

热点排行