文章目录
一.C/C++内存分布图
二.new和delete内存管理
1.对于内置类型
2.对于自定义类型(重点)
3.new和delete不匹配问题(了解)
4.new的底层机制(了解)
5.定位new...表达式(了解)
三.面试题
1.new/delete和malloc/free的区别(理解)
2.内存泄漏
一.C/C++内存分布图
作为C/C++方向的从业者,必须关注的四块空间:
栈(局部数据)...abcd”,位于代码段
ptr1指向动态申请的空间,定义在函数体内[局部],位于栈区
*ptr1是动态申请的空间里的内容,位于堆区
关于第7题和第9题区别:
二.new和delete内存管理...C 语言中的malloc是函数,C++中的new是关键字,操作符,都是在堆上动态申请的空间
下面我针对内置类型和自定义类型比较new,delete和malloc,free
1.对于内置类型...C 语言和C++默认都没有对各自动态申请的内存进行初始化
int main()
{
//C语言
int* p1 = (int*)malloc(40);
free(p1);
//C++,