类的内存分布或大小

         类Class的大小或结构体Struct的大小,简单的说就是内存对齐吧!

         简单的说就是往大的对齐,这个时候就是考察数据定义前后了,譬如:

         Struct pack{

              bool bFlag;

              int    nValue;

              char cValue;

        }

        它是多少?1+4+1=6,不是,复合类型往大的对齐,它是23.

        所以,我们在定义结构体(或者包)时,一定要注意不要让二义性的结构把你搞晕了。

       

        言归正传吧,类的内存分布,类是面向对象的核心概念,三个特征封装,继承,多态;多态太了不起了,什么搞大上的框架结构都向它靠拢,还必须会用了解精髓。

        想了解类的内存分布以及多态的实现机制,那么在Visual Studio 2013(本人VS版本)的 工具->属性->配置属性->C/C++->命令行 的“其他选项”内填写 /d1 reportAllClassLayout即可,然后编写类,派生类,以及具有virtual的类等,进行编译,那么控制台自动打印它的内存大小及布局,以及所谓的vptr虚拟指针,虚拟表的关系,自己研究一下吧!

     

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值