堆操作
在c语言中我们对堆进行操作主要通过两个函数 malloc 和 free ,
而在c++中提供了更为方便的new和delete来达到同样的功能
但new和delete并不等价于malloc和free,malloc和free是函数,而new和delete是运算符
new 和 delete的使用
相比较malloc 和free 而言new和delete的用法要简单得多。
#include<iostream>
#include "string.h"
using namespace std;
int main()
{
//在堆内存中分配一块空间并存入整形数据100
int *pNum = new int(100);
cout << *pNum;
//在堆内存中为整形数组分配一块连续空间
int *pArray = new int[10];
//删整形指针pNum指向的内存空间中的数据并释放内存
delete pNum;
delete[] pArray;
system("pause");
return 0;
}
以上就是new和delete的用法,它们不仅可以应用于常用数据类型也可以用于类,
!使用new为数组分配堆空间在使用delete释放空间时要记得加上【】不然会造成内存泄露。