内存管理
SimonxxSun
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++对象模型:执行期语意学
目录 执行期发生的转换 一 、对象的构造和解构(构造和析构必须调用时) 全局对象 局部静态对象 default constructor和数组 二、new和delete运算符 针对数组的new语意 Placement Operator new 语意 三、临时性对象 执行期语义主要从一下两个方面展开: 执行期发生的一些转换。 临时性对象。 执行期发生的转换 一 、对象的构...转载 2019-05-14 16:50:25 · 401 阅读 · 0 评论 -
C++对象模型:构造、析构、拷贝语意学
目录 1、有关纯虚函数 2、无继承情况下的函数构造 2.1struct 构造 2.2抽象数据类型 2.3有虚函数的情况 3.继承体系下的对象构造 3.1概述 3.2虚拟继承的情况 3.3vptr的初始化 4.对象复制语意学 5.析构函数语意学 1、有关纯虚函数 抽象基类的数据成员初始化 如果一个类被声明为抽象基类(其中有 purevirtual function),则...转载 2019-05-14 16:49:38 · 476 阅读 · 0 评论 -
图说C++对象模型:对象内存布局详解
目录 1.何为C++对象模型? 2.文章内容简介 3.理解虚函数表 3.1.多态与虚表 3.2.使用指针访问虚表 4.对象模型概述 4.1.简单对象模型 4.2.表格驱动模型 4.3.非继承下的C++对象模型 5.继承下的C++对象模型 5.1.单继承 5.2.多继承 5.2.1一般的多重继承(非菱形继承) 5.2.2 菱形继承 6.虚继承 6.1.虚基类表解析 ...转载 2019-05-14 16:50:18 · 490 阅读 · 0 评论 -
C++ 内存管理(三)malloc/free
windows 下 VC 6.0 运行 C++ 程序的流程: call stack 调用栈 VC 10 中对小块内存的管理转移到 HeapAlloc 中实现。 _heap_init() 中实现的就是分配16个 header,由_sbh_pHeaderList维护 借助 SBH 实现的这种结构去管理 1GB 内存,实现了 快速的内存分配与回收、碎片消除。 ...原创 2019-05-14 16:52:37 · 388 阅读 · 1 评论 -
C++ 内存管理(二)std::allocator
目录 一、VC6 标准分配器的实现 二、G2.9 分配器的实现 三、G2.9 std::alloc 源码剖析 3.1 alloc 类基本设计 3.2 refill 函数 3.3 chunk alloc 函数 四、std::alloc 运行细节观察 一、VC6 标准分配器的实现 VC 中的 allocator 只是实现了到 _Allocator -> operato...原创 2019-05-14 16:52:48 · 983 阅读 · 0 评论 -
C++ 内存管理(一)primitives 基础工具
目录 一、四种基础工具的使用 1.1 四种工具的介绍 1.1.1 new、::operator new()、malloc 三者之间的关系 1.1.2delete、free 1.1.3 array new、array delete 1.1.4 placement new 1.2 实现内存管理工具的重载 1.2.1 重载全局版本 ::operator new /::op...原创 2019-05-14 16:53:10 · 547 阅读 · 0 评论 -
C++对象模型:函数语意学
概述 C++支持三种类型的成员函数有:static、nonstatic、和 virtual,每一种类型被调用的方式都不相同。不同类型的成员函数的调用会有不同的表现,以下对每一种类型的成员函数进行简单的分析。 1.Nonstatic Member Functions 非静态成员函数 为了使 nonstatic member function 能够与非成员函数具有相同的效率,C++ 编译器内部...转载 2019-05-14 16:55:36 · 334 阅读 · 0 评论
分享