Jia PD

Northwestern Polytechnical University

0%

内存管理

    今天早上初赛结束,所以就休息了一天,在宿舍躺尸了一天。所以顺便想看下C++内存管理的部分,想把这个东西弄得比较透彻吧,今天的内容属于开个头。因为类似的学习文希望显示得优先级高一些,所以就修改了 js 文件,添加了文章优先级排序。

Books

1. 相关书籍

People

  • ${Doug}$ ${Lea}$

classes

Study Note

    因为要去学内存管理,所以肯定要了解要调用什么去管理,而这些函数或者是关键字都是有层次关系的。

2. 不同层次的分配

    而作为一名一直使用c++的小coder ,我一般使用的就是 ${\small cpp}$ ${\small permitives}$ 部分,具体相关函数及特性如下。

3. C++ primitive
4. 所有的内存分配方式测例

    这几个层次之间的关系之前的图说的比较清楚,但是一般程序员嘛,看不到源码不死心,所以看一下 ${\small new}$ 的源码。

5. new函数源码

其中调用了 ${\small operator new}$ 这个函数,是在这个函数里面调用了 ${\small malloc}$ 函数。

6. operator new函数源码

    ${\small delete}$ 函数类似,最终调用了 ${\small free}$ 函数。

7. delete函数源码

    ${\small new}$ 中使用了${\small new}$出来的变量显式调用构造函数的表达式。这个表达式作为程序员是不能调用的,但是程序员可以显式调用析构函数。

8. 构造函数不可显式调用
------------- Ending,Thanks for your reading!-------------