2017年6月20日
摘要: 针对gcc编译器 C++内存分配和释放函数 这两个函数都有size参数,作为传入要分配空间的大小,内部实现完全一样。只不过在分配数组空间之前,会在前面的空间,填入数组空间的大小。下面我猜测的伪代码 根据上面的分析,我们知道了只有析构函数有用(non trival)的Object,operator n 阅读全文
posted @ 2017-06-20 11:26 bitError 阅读(526) 评论(0) 推荐(0) 编辑
摘要: 字节对齐简介 内存对齐是编译器为了便于CPU快速访问而采用的一项技术 你还可以通过pragma指令(通常为 pragma pack)强迫编译器不采用处理器惯用的对齐规则。但请别随意运用这种方式,因为它强制生成开销更大、速度更慢的代码。 使用 pragma pack的唯一理由是——假如你需让C语言的数 阅读全文
posted @ 2017-06-20 11:26 bitError 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 所有结果均为32位系统,指针为4个字节 简单继承 对象B的内存布局: 简单继承虚函数 对象B内存布局 简单多重继承 对象C的内存布局 简单多重继承(虚函数) 对象C的内存布局: 菱形继承 对象D的内存布局: 菱形继承(虚继承) 对象D的内存布局: 这里需要注意,因为A中有虚函数,所以虚基类A前面必须 阅读全文
posted @ 2017-06-20 11:16 bitError 阅读(1237) 评论(1) 推荐(0) 编辑