C++内存管理
文章平均质量分 94
Cheng游戏开发
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++对象内存模型探究模型
C++对象内存模型探究模型 转载注明出处:https://www.zhihu.com/people/peng-cheng-17-51 作者:Cheng游戏开发 前言: C++的基于继承关系动态多态特性可以允许父子继承关系的类之间重写函数 编译器会在存在虚函数的对象中塞入一个虚表指针,指向一个虚表 表内装了我们们所重写的虚函数 目的: 探究虚表与虚函数在对象中的内存占用情况 前置知识 this指针的内部调整 代码 #include <iostream> #include <strin原创 2021-09-15 22:59:10 · 156 阅读 · 0 评论 -
如何自定义一个内存池?
目录 我们先写个简单的第一版内存分配器: 第二版 第三版Alloctor 第四版Alloctor 我们先写个简单的第一版内存分配器: //推进式单向链表操作 /* 分配24*size个内存空间 可以见图PreAlloctor */ class FirstAlloctor { public: FirstAlloctor(std::size_t x) :i(x) { } ~FirstAlloctor() { } std::size_t Get() {原创 2020-05-31 17:19:31 · 379 阅读 · 0 评论 -
如何用C++代码稳定判断64位还是32位系统(不使用任何宏定义,或者API)
情景 最近碰到了这个问题,研究一下发现很有趣,如何用C++代码稳定判断64位还是32位系统? 看到这个问题有人可能会想,用64位或者32位系统字节数不一样的基本类型来判断不可以吗?答案是YES。很多人会想到long/unsigned long,其实这个是有问题的,无法做到稳定判断。windows的vs下万古不变4个字节,其他平台可能就是4/8字节(32/64位系统)。如何做到稳定判断?其实用指针计算是最好的,这里会用到二级指针,可以看看下面这个例子: { //简单小例子判断是64位系统还是原创 2020-05-31 17:03:14 · 1402 阅读 · 0 评论 -
内存分配基本用法
malloc/free的用法: //malloc/free的用法 #pragma region { void* p_malloc = malloc(512); free(p_malloc); p_malloc = nullptr; } #pragma endregion new/delete的用法 //new/delete的用法 ...原创 2020-05-31 16:54:58 · 207 阅读 · 0 评论 -
C++内存管理--码云地址Git
项目简介: 本项目会一直进行更新,主要内容包括内存管理的相关知识,具体可以见https://gitee.com/MercyRedeemer_admin/MemoryManager.git 另外:项目中具体内容会在博客中更新。原创 2020-05-31 16:34:53 · 153 阅读 · 0 评论
分享