C++中各种空类以及继承空类后的sizeof大小
来源:互联网 发布:如何评价李沁长相知乎 编辑:程序博客网 时间:2024/06/06 09:51
using namespace std;
class A1
{
};
class A2
{
};
class B1 : public A1
{
};
class B2 : public A1, public A2
{
};
class B3 : public virtual A1
{
};
class B4 : public virtual A1, public virtual A2
{
};
class B5 : public A1, public virtual A2
{
};
class C1 : public A1
{
char a;
char b;
};
class C2 : public virtual A1
{
char a;
char b;
};
int main(int argc, char *argv[])
{
cout << "sizeof(A1): " << sizeof(A1) << endl;
cout << "sizeof(B1 : A1): " << sizeof(B1) << endl;
cout << "sizeof(B2 : A1, A2): " << sizeof(B2) << endl;
cout << "sizeof(B3 : virtual A1): " << sizeof(B3) << endl;
cout << "sizeof(B4 : virtual A1, virtual A2): " << sizeof(B4) << endl;
cout << "sizeof(B5 : A1, virtual A2): " << sizeof(B5) << endl;
cout << "sizeof(C1 : A1): " << sizeof(C1) << endl;
cout << "sizeof(C2 : virtual A1): " << sizeof(C2) << endl;
return 0;
}
结果是:
sizeof(A1): 1
sizeof(B1 : A1): 1
sizeof(B2 : A1, A2): 1
sizeof(B3 : virtual A1): 4
sizeof(B4 : virtual A1, virtual A2): 4
sizeof(B5 : A1, virtual A2): 4
sizeof(C1 : A1): 2
sizeof(C2 : virtual A1): 8 //涉及到字节对其所以是8
由于virtual继承涉及到虚函数表(虚函数指针)所以sizeof为4
- C++中各种空类以及继承空类后的sizeof大小
- 空类、含静态成员的类、普通类(不含虚函数、虚继承)的sizeof大小
- C++:类的大小(sizeof)
- 空类以及空类的大小
- C++:C++ 空类的大小及相关继承类的大小
- 各种类型的sizeof()大小
- sizeof() 类大小,空类大小
- sizeof() 类大小,空类大小
- sizeof() 类大小,空类大小
- sizeof() 类大小,空类大小
- sizeof()类大小,空类大小
- 空类及其继承类的大小
- c/c++ struct的大小以及sizeof用法
- 空类的大小(sizeof), placement new 操作符
- 空类的大小(sizeof), placement new 操作符
- 一道关于继承类的sizeof大小问题
- sizeof中对于类大小的计算
- sizeof(类名),空类大小
- 东方语言与欧洲语言在跨语言检索上的困难
- PHP curl实现异步的http请求
- 学习JQ日志03
- 80端口被System占用及外网无法访问Tomcat解决方案
- 软件系统的4大技术本质(转)
- C++中各种空类以及继承空类后的sizeof大小
- socket与curl
- ecshop 函数列表大全
- JAVA事件处理机制小议
- 错误信息汇总-SQL CODE和SQL State相关
- 查看 Oracle 是32位还是64位的方法
- HTC有望明年中期推出TD-LTE终端 许是平板电脑
- 配置 vim Python IDE 开发环境
- 解决gridview空行时不显示的问题