空类;

空类没有内容,但是需要分配地址;大小为1个字节;

基础类;

下图类占用8个字节;i 是四字节;c本身是一字节大;为对齐填充了3个字节;总大小是8字节;

double为8字节大;下图,4 + 4 + 8 = 16;

带虚函数的情况;

下图类占用12个字节,
四字节对齐2个变量共占用8个字节;由于存在虚函数,在类开始位置插入了一个虚函数指针,该指针占用4个字节,共计12字节;类的非虚函数不占用类对象的内存,函数编译后形成二进制文件放在内存中的代码段区;

类继承的情况;

基类大小为8个字节;继承类大小为12字节;继承类继承了基类的变量;

在内存中基类在派生类的前面;这就在看不到的情况下系统复制了一份数据;

了解C++类的大小和类变量的字节对齐相关推荐

  1. 类的大小,虚函数,继承

    在类中,如果什么都没有,则类占用1个字节,一旦类中有其他的占用空间成员,则这1个字节就不在计算之内,如一个类只有一个int则占用4字节而不是5字节. 如果只有成员函数,则还是只占用1个字节,因为类函数 ...

  2. 使用sizeof计算类的大小

    类的sizeof大小一般是类中的所有成员的sizeof大小之和,这个就不用多说. 不过有两点需要注意:1)当类中含有虚成员函数的时候,例如: class B { float a; public: vi ...

  3. sizeof计算类的大小

    1 sizeof一个空类 class A { };cout<<sizeof(A)<<endl;//1 注:class A是一个空类型,它的实例不包含任何信息,本来求sizeof ...

  4. c++面试常用知识(sizeof计算类的大小,虚拟继承,重载,隐藏,覆盖)

    一. sizeof计算结构体 注:本机机器字长为64位 1.最普通的类和普通的继承 #include<iostream> using namespace std;class Parent{ ...

  5. c++空类实例大小不是0原因

    初学者在学习面向对象的程序设计语言时,或多或少的都些疑问,我们写的代码与最终生编译成的代码却 大相径庭,我们并不知道编译器在后台做了什么工作.这些都是由于我们仅停留在语言层的原因,所谓语言层就是教会我 ...

  6. 类的概念、成员函数的定义方式、类的访问控制和封装、类的大小、this指针

    文章目录 类的概念 struct class class和struct的区别是什么呢? 类中成员函数的两种定义方式 声明和定义都在类中 声明和定义分离 类的访问控制和封装 类的封装特性 类的大小 结构 ...

  7. c语言格式对齐填充_C ++中类的大小 课堂上的填充和对齐| 派生类的大小

    c语言格式对齐填充 Prerequisite: 先决条件: sizeof() operator in C/C++ C / C ++中的sizeof()运算符 Size of struct in C C ...

  8. 【C++面向对象】类的大小以及虚继承

    先看下面一段代码: #include <iostream>using namespace std;class X{}; class Y:public virtual X{}; class ...

  9. sizeof()来求一个类的大小

    基本概念 一个类的实例化对象所占空间的大小? 注意不要说类的大小,是类的对象的大小. 首先,类的大小是什么?确切的说,类只是一个类型定义,它是没有大小可言的. 用sizeof运算符对一个类型名操作,得 ...

最新文章

  1. Domino+Qucikplace+Sametime构建企业办公平台图文攻略(三)
  2. python培训中心-深圳Python培训
  3. roobo机器人怎么唱歌_智能机器人都长什么样?提前探秘中国智能机器人大赛
  4. redhat6.4执行二进制程序报错:/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory...
  5. C语言入门题-求阶乘序列前N项和
  6. java--面向接口编程
  7. 启动服务器如何删除文件,在服务器启动时用Filter来删除某种类型的文件
  8. 大数据架构师学习方向---加油。
  9. 计算机相关专业试题,计算机基础类 模拟试题 计算机相关专业 模拟题 10套 附答案.doc...
  10. 二维数组/三维数组 定义
  11. 面试被问自己的“优点和缺点”如何机智应答
  12. C++中的拷贝构造函数
  13. mysql 分页 pageindex_根据当前页号(pageIndex)和页大小(pageSize)获取分页数据
  14. Java实现判断是否参加上秒杀活动
  15. Large scale evolutionary optimization using cooperative coevolution
  16. 动态博弈--gyy参考总结
  17. 抓包工具哪些好,来看这里就够了.....
  18. HTML中head与body标签
  19. 【其它】visio画泳道图/跨职能流程图
  20. REST API 设计

热门文章

  1. Leetcode 100. 相同的树 解题思路及C++实现
  2. java矩阵三元组相减_实现稀疏矩阵(采用三元组表示)的基本运算
  3. Fiddler 获取、安装与浏览器代理设置,Fiddler的第一次使用
  4. STM32时钟源时钟系统配置
  5. CTFshow sql注入 上篇(web171-220)
  6. CTFshow 命令执行 web42
  7. 第3周实践项目5 -顺序表的应用 拆分单链表
  8. 异步爬虫(爬取小说30秒12MB!)Python实现
  9. java迁移文件下的文件_Laravel迁移 - 一次性多次迁移(文件)
  10. symbian 获取手机型号