对象的大小(sizeof)

来源:互联网 发布:淘宝司法拍卖平台进入 编辑:程序博客网 时间:2024/05/29 04:13


1C++将类中的引用成员当成“指针”来维护,占据4个内存字节。
2如果类中有虚函数(后面课程将会介绍)时,虚析构函数除外,还会额外分配一个指针用来指向虚函数表(vtable),因此,这个时候对象的大小还要加4。
3指针成员和引用成员属于“最宽基本数据类型”的考虑范畴。

#include <iostream>
#include <stdlib.h>
using namespace std;
class cex
{
private:
 int a;  
 char b; //浪费3
 float c; //浪费4
 double d;
 short e[5];
 char &f; //浪费5
 double &g;
 static int h;
public:
 cex():f(b),g(d)
 {
 }
 void print()
 {
  cout<<"hello"<<endl;
 }
};
int cex::h=0;
int main()
{
 cex c;
 cout<<"sizeof(cex)"<<sizeof(cex)<<endl;
 system("pause");
}


//原则就是看加起来能放到8字节范围内吗?能就放,不能就到下一个8字节放


0 0
原创粉丝点击