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;
    
}

免责声明:内容仅供参考,不保证正确性。


全栈后端 / C++教程 :
















Copyright © 2022-2024 笨鸟工具 x1y1z1.com All Rights Reserved.