[语言类]SizeOf(Class)
来源:互联网 发布:粒子群算法工具箱下载 编辑:程序博客网 时间:2024/04/26 06:25
对一个空类A来说,sizeof(A) =?
Class A
{}
Sizof(A) = 1; (VC)
对于空类,标准规定插入一个char;但其作为基类的时候,遵循最小化原则,大小为0.
所以:
class X{};
class Y: public virtual X{};
class Z: public virtual X{};
class A: public Y, public Z{};
cout<<sizeof(X)<<endl;
cout<<sizeof(Y)<<endl;
cout<<sizeof(Z)<<endl;
cout<<sizeof(A)<<endl;
VC上的结果为1,4,4,8
如果修改为 class X{char a;};
VC的结果1,5,5,9;
如果修改为class X{char a;int b;};
VC的结果为8,12,12,16
我的理解是虚继承时子类需要维护一个Vptr的指针,所以即使虚基类为空,子类也会为vptr分配一个4字节(可能与各编译器有关)大小的空间。
- [语言类]SizeOf(Class)
- 类大小sizeof(class)
- 类大小sizeof(class)
- class类的sizeof计算
- sizeof class
- class sizeof
- class sizeof
- sizeof(class)
- sizeof(class)
- sizeof(class)---类的字节长度
- sizeof Class类的对象的大小
- sizeof(struct)及sizeof(class)
- C++ sizeof() Class / C++ Class sizeof()
- sizeof with base class
- class的sizeof
- sizeof(class)
- class的sizeof
- sizeof class or struct
- Java中的集合
- Delphi中ADO处理数据的几种方式的速度比较
- CA解决方案针对复杂的SOA和虚拟化环境实现优化
- 关于SGA设置的一点总结
- win2000下oracle817的性能优化方案
- [语言类]SizeOf(Class)
- "JSTUN" - Java Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translation (NAT)
- 为什么不用Dojo?
- VS2005,VS2008快捷键大全
- lua语法小结
- 试用GoogleMap
- 构造使用IN子句的动态Transact-SQL方法进行编号查询
- 打败你的十五个坏习惯
- word中,backspace删除使用问题