今天早上初赛结束,所以就休息了一天,在宿舍躺尸了一天。所以顺便想看下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. 构造函数不可显式调用