[C++ 的 new 和 delete:内存管理的重要角色]
在 C++ 中,new 和 delete 是非常重要的内存管理工具。在程序运行时,我们经常需要动态地分配和释放内存。而 new 和 delete 就是我们用来实现这一目的的工具。
使用 new 关键字,可以动态地分配一块指定大小的内存空间,并将其地址返回。同时,由于 new 返回的是一个指针,所以我们可以方便地使用指针来操作这块内存。
下面是一个使用 new 来分配内存的例子:
int* p = new int;
这条语句会在内存中分配一块 int 类型的空间,并将其地址赋值给指针 p。
当我们使用完这块内存后,需要将其释放。这时就可以使用 delete 关键字,将内存空间返回给系统,以便其他程序可以继续使用这块空间。
下面是一个使用 delete 来释放内存的例子:
delete p;
这条语句会将指针 p 指向的内存空间释放掉,并将 p 置为 null。
除了动态地分配内存外,new 还可以用来分配数组。在这种情况下,我们需要在 new 后面加上方括号 [],并指定数组的大小。
下面是一个使用 new 来分配数组的例子:
int* arr = new int[10];
这条语句会在内存中分配一个包含 10 个 int 类型元素的数组,并将其首地址赋值给指针 arr。
使用完这个数组后,我们同样需要使用 delete[] 来释放它:
delete[
本文介绍了C++中的内存管理关键操作——new和delete。new用于动态分配内存,返回指针,方便操作;delete则用于释放内存,避免内存泄漏。文章通过示例展示了如何使用new分配单个变量和数组的内存,以及对应的delete释放操作。强调了正确使用new和delete以确保程序的稳定性和防止内存问题的重要性。
订阅专栏 解锁全文
105

被折叠的 条评论
为什么被折叠?



