C++怎么手动释放内存空间
手动释放内存空间
C++中,通常情况下,普通的非动态分配内存的变量在程序执行完成之后,分配给它们的内存空间将会自动释放,然而,动态分配的内存空间一般无法被自动释放,需要手动来删除,使用的操作符是delete。比如下面的这个实例,使用new操作符为一个int类型的指针动态分配内存,之后通过delete操作符手动释放该内存空间:
#include <iostream>
using namespace std;
int main() {
int *p = new int(1);
delete p;
return 0;
}
可以手动删除非动态分配内存空间吗
如下代码,尝试手动删除一个非动态分配内存空间的int变量,编译器会抛出:error: type 'int' argument given to 'delete', expected pointer。
#include <iostream>
using namespace std;
int main() {
int x = 2;
delete x;
return 0;
}
免责声明:内容仅供参考,不保证正确性。