C++中利用
new
操作符在堆区开辟数据
堆中开辟的数据由程序员手动开辟,手动释放,释放利用操作符delete
语法new 数据类型
#include <iostream>using namespace std;int *func(){int* p = new int(10);return p;
}int main() {int* p = func();cout << *p << endl;
}
如果自己没有释放,就不会释放。由程序员管理开辟和释放
#include <iostream>using namespace std;int *func(){int* p = new int(10);return p;
}int main() {int* p = func();cout << *p << endl;delete p; //这里内存已经释放,再操作就是非法访问cout << *p << endl;
}