new的作用类似于malloc,用于申请堆内存
delete作用类似于free,用于释放堆内存
#include <iostream>
using namespace std;
int main()
{
// 1.申请单个内存
int *p1 = new int;
*p1 = 11;
cout << "*p1 = " << *p1 << endl;
// 2.申请单个内存且初始化
int *p2 = new int(22);
cout << "*p2 = " << *p2 << endl;
// 3.申请连续内存并初始化
int *p3 = new int[10];
for (int i = 0; i < 10; ++i) {
p3[i] = i;
cout << "p3[" << i << "] = " << p3[i] << endl;
}
// 释放内存
delete p1;
delete p2;
// 申请连续内存时系统会创建起始和结束标志,使用时不需要手动标记,
// 只需要delete首地址就可以释放起始到结束之间的这段内存
delete []p3;
return 0;
}