C++ new和delete的用法

new和 delete是C++中用于动态分配和释放内存的运算符。它们的用法如下:

  1. 使用 new运算符分配内存

    // 分配一个整数的内存空间
    int* ptr = new int;
    
    // 分配一个整数数组的内存空间(指定数组大小)
    int* arr = new int[10];
     
     

    new运算符用于在堆上动态分配内存空间,并返回指向该内存的指针。可以用于分配单个对象或数组。

  2. 使用 delete运算符释放内存

    // 释放单个对象的内存
    delete ptr;
    
    // 释放数组的内存
    delete[] arr;
     
     

    delete运算符用于释放之前使用 new分配的内存。请注意,如果使用 new[]分配了数组,必须使用 delete[]来释放,否则会导致未定义行为。

需要注意的是,使用 new和 delete分配和释放内存时,程序员负责管理内存的分配和释放,这可能导致内存泄漏或释放已释放内存的问题。因此,C++引入了智能指针(如 std::shared_ptr和 std::unique_ptr)以更安全和自动化地管理内存。

posted @ 2025-03-13 16:32  bqyfa66984  阅读(59)  评论(0)    收藏  举报