C++类的sizeof

1.空类占一个字节,但非空类不算这个字节;

2.类的公共部分不占空间(普通成员函数,静态成员变量、函数);

3.虚函数,虚函数表指针(指向类的虚函数列表),大小相当于sizeof(void *),每个父类都有自己的虚函数表(如果父类有虚函数)(ps:由于对象的内存空间包含了虚表入口,编译器能够由这个入口找到恰当的虚函数,这个函数的地址不再由数据类型决定了。故对于一个父类的对象指针,调用虚拟函数,如果给他赋父类对象的指针,那么他就调用父类中的函数,如果给他赋子类对象的指针,他就调用子类中的函数(取决于对象的内存地址)。);

4.考虑内存对齐(以基本类型中最宽的为准);

 

posted @ 2018-04-08 15:56  单人旅途~  阅读(157)  评论(0编辑  收藏  举报