首页 > 其他 > 详细

第三章类的成员的布局及存取

时间:2021-06-21 15:29:23      阅读:28      评论:0      收藏:0      [点我收藏+]

 

一、类成员的布局

  1.静态数据成员布局在全局变量区。不同类的同名静态成员变量,编译器会对其进行编码来进行区分。

  2.非静态成员的布局要求:在同一访问域(pubiic、private和protect)中后出现的成员在类对象中要有较高地址。(所以地址不一定连续、中间会有边界调整alignment产生的内存或者虚函数表等编译器产生的东西,多个访问域中的成员也自由排列)。

  但是目前的编译器一般将多个访问域连在一起,依照声明顺序连成一个连续的区块。

 

二、成员访问

  1.静态成员变量:编译器将此访问直接转换为对该唯一实例的直接访问。

  2.非静态成员变量:必须经由类对象访问(显式或隐式this)

  ①非虚继承:变量在对象内存中的位置(偏移量)在编译期即可确定。

  ②虚继承:变量的位置必须在运行期才能确认。

  

第三章类的成员的布局及存取

原文:https://www.cnblogs.com/wildricky/p/14912422.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!