C++中对C的扩展学习新增语法——动态内存管理

时间:2022-04-18 03:08:44

1、C语言动态内存管理的缺点:

1、malloc对象的大小需要自己计算。

2、需要手动转换指针类型。

3、C++的对象不适合使用malloc和free。

2、C++中new/delete基本使用:

C++中对C的扩展学习新增语法——动态内存管理

3、其他类型、指针类型动态开辟空间

 C++中对C的扩展学习新增语法——动态内存管理

4、动态数组创建及释放

C++中对C的扩展学习新增语法——动态内存管理

5、注意事项

1、new必须和delete共用,不能用new/free也不能用malloc/delete,不能混用。

2、如果创建的是动态数组,那么必须使用delete[]来释放动态数组。

3、New/Delete工作原理:

如果New创建的是基础数据类型的对象,底层调用的malloc。

如果Delete释放的是基础数据类型的对象,底层调用的是free。