![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
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 · 90 阅读 · 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 · 300 阅读 · 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 · 1252 阅读 · 0 评论 -
内存分配基本用法
malloc/free的用法://malloc/free的用法 #pragma region { void* p_malloc = malloc(512); free(p_malloc); p_malloc = nullptr; } #pragma endregionnew/delete的用法 //new/delete的用法 ...原创 2020-05-31 16:54:58 · 153 阅读 · 0 评论 -
C++内存管理--码云地址Git
项目简介:本项目会一直进行更新,主要内容包括内存管理的相关知识,具体可以见https://gitee.com/MercyRedeemer_admin/MemoryManager.git另外:项目中具体内容会在博客中更新。原创 2020-05-31 16:34:53 · 114 阅读 · 0 评论