上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 53 下一页
摘要: 被一个virtual搞得脑袋疼了好几天,明天继续虚函数+虚继承混合,伤不起,伤不起 阅读全文
posted @ 2017-01-17 02:26 柳下_MBX 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 1.无继承的普通类: 在有虚函数的情况下类会为其增加一个隐藏的成员,虚函数表指针,指向一个虚函数表,虚函数表里面就是类的各个虚函数的地址了。那么,虚函数表指针是以什么模型加入到类里面的,虚函数表里面又是怎么安排的呢。简单来看下就可以知道了。 定义一个A的变量,然后看其内存布局: 最开始的 4个字节就 阅读全文
posted @ 2017-01-17 02:22 柳下_MBX 阅读(512) 评论(0) 推荐(0) 编辑
摘要: 我们知道,虚继承的基类在类的层次结构中只可能出现一个实例。虚基类在类的层次结构中的位置是不能固定的,因为继承了虚基类的类可能会再次被其他类多继承。 比如class A: virtual T{} 这时T的位置如果相对于A是固定值的话,假设偏移是X,当再有个类 class B:virtual T{} ; 阅读全文
posted @ 2017-01-17 01:04 柳下_MBX 阅读(767) 评论(0) 推荐(1) 编辑
摘要: 下面博客转载自别人的,我也是被这个问题坑了快两天了,关于各种虚基类,虚继承,虚函数以及数据成员等引发的一系列内存对齐的问题再次详细描述 先看下面这片代码。在这里我使用了一个空类K,不要被这个东西所迷惑,我使用这个空类的目的主要是为了让它产生虚基类表指针而又不引入虚基类成员变量,这样我就可以少叙述一些 阅读全文
posted @ 2017-01-15 20:26 柳下_MBX 阅读(397) 评论(0) 推荐(0) 编辑
摘要: 转载自http://blog.csdn.net/chengonghao/article/details/51674166 例子举的特别好 很多文章大概都有像这样的结论: 1. 数据项只能存储在地址是数据项大小的整数倍的内存位置上; 2. 结构体变量的首地址能够被其最宽基本类型成员的大小所整除; 3. 阅读全文
posted @ 2017-01-15 15:20 柳下_MBX 阅读(296) 评论(0) 推荐(0) 编辑
摘要: #pragma pack(n) 解释一: 每个特定平台上的编译器都有自己的默认“对齐系数”(也叫对齐模数)。程序员可以通过预编译命令#pragma pack(n),n=1,2,4,8,16来改变这一系数,其中的n就是你要指定的“对齐系数”。 规则: 1、数据成员对齐规则:结构(struct)(或联合 阅读全文
posted @ 2017-01-15 14:53 柳下_MBX 阅读(175) 评论(0) 推荐(0) 编辑
摘要: Data Member的绑定 在早期(2.0之前)C++的编译器上,将会指向global x object, 导致C++的两种防御性程序设计风格: 1、把所有的data members放在class 声明起头处,以确保正确的绑定 2、把所有的inline functions, 不管大小都放在clas 阅读全文
posted @ 2017-01-15 00:48 柳下_MBX 阅读(323) 评论(0) 推荐(0) 编辑
摘要: 指针的类型 不同类型的指针,从内存需求的观点来说,没有什么不同!他们三个都需要足够的内存来繁殖一个机器地址,“指向不同类型之各指针”之间的差异,既不在其指针表示法不同,也不再其内容(代表一个地址)不同,而是在其所寻址出来的对象类型不同。也就是说,“指针类型”会导致编译器如何解释某个特定地址中的内存内 阅读全文
posted @ 2017-01-14 22:42 柳下_MBX 阅读(513) 评论(0) 推荐(0) 编辑
摘要: 对于一个class object来说,我们需要多少内存才能表现出来,大致分为3类,这里在前面文章有内存图 (1)非静态数据成员的综合大小,这也符合了c++对象模型的结构 (2)填充字节,就是我们所说的,内存对齐 (3)若存在虚函数,则还会产生一个为了支持virtual的指针指向虚函数表 (这里也可以 阅读全文
posted @ 2017-01-14 02:34 柳下_MBX 阅读(216) 评论(0) 推荐(0) 编辑
摘要: reinterpret_cast reinterpret意为“重新解释” reinterpret_cast是C++中与C风格类型转换最接近的类型转换运算符。它让程序员能够将一种对象类型转换为另一种,不管它们是否相关。 reinterpret_cast用在任意指针(或引用)类型之间的转换;以及指针与足 阅读全文
posted @ 2017-01-14 02:12 柳下_MBX 阅读(525) 评论(0) 推荐(0) 编辑
上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 53 下一页