1、new和delete
向堆去申请和释放内存
new 的作用类似 malloc
delete的作用类似free
# include<iostream>
using namespace std;
int main() {
//1申请单个内存
int* p = new int;
*p = 1;
//2申请单个内存且初始化
int* p2 = new int(9);
cout << "*p2=" << *p2 << endl;
//批量申请内存
int* p3 = new int[10];
for (size_t i = 0; i < 10; i++) {
p3[i] = i;
cout << "p3[" << i << "]=" << p3[i] << endl;
}
delete p;
delete p2;
delete[]p3;
return 0;
}
输出截图:
注意:释放内存的时候,是从当前位置向后释放,如果不是首地址,那么会存在部分内存没有被释放。