类的大小
来源:互联网 发布:c语言中case的用法 编辑:程序博客网 时间:2024/05/18 09:03
- 非空类的大小:主要是类的数据成员大小的累加,不算静态数据成员。
- 空类的大小:
1、为何空类的大小不是0呢?
为了确保两个不同对象的地址不同,必须如此。
类的实例化是在内存中分配一块地址,每个实例在内存中都有独一无二的二地址。同样,空类也会实例化,所以编译器会给空类隐含的添加一个字节,这样空类实例化后就有独一无二的地址了。所以,空类的sizeof为1,而不是0.
2、请看下面的类:
class A{ virtual void f(){} };
class B:public A{}
此时,类A和类B都不是空类,其sizeof都是4,因为它们都具有虚函数表的地址。
3、请看:
class A{};
class B:public virtual A{};
此时,A是空类,其大小为1;B不是空类,其大小为4.因为含有指向虚基类的指针。
4、多重继承的空类的大小也是1.
class Father1{}; class Father2{};
class Child:Father1, Father2{};
它们的sizeof都是1.
- 对于一个空类而言,编译器会默认产生四个成员函数:默认构造函数,西沟函数,拷贝构造函数赋值函数
0 0
- 类的大小
- 类的大小
- 类对象的大小
- 类的大小
- c++ 类的大小
- 类的大小问题
- 类的大小计算
- C++ 类的大小
- 类的大小
- C++类的大小
- 类的大小
- 类的大小
- c++ 类的大小
- C++类的大小
- C++类的大小
- 类的大小
- 类的sizeof大小
- 关于类的大小
- hdu4510 小Q系列故事——为什么时光不能倒流
- Architectural Pattern(3)-N-Tier与MVC架构的区别与联系
- linux command
- phpcms v9 数据库操作函数
- 北京南站一日游
- 类的大小
- OpenSUSE11.1安装指南
- Android学习 笔记3
- 如何分析解决Android ANR
- NYOJ 2
- df
- 编程的那些小事(1)内敛函数_指针
- java正则表达式
- 炫光特效