当前位置:首页C++ > 正文

C++ new 运算符

作者:野牛程序员:2025-11-10 19:12:06C++阅读 2266
C++ new 运算符
/*
C++ new 运算符
功能:在堆区动态申请内存
返回地址,需要手动 delete 释放
*/

#include <iostream>
using namespace std;

int main() {

    /*-------------------------
       申请单个整数
    -------------------------*/
    int* p1 = new int;     // 未初始化
    *p1 = 10;
    cout << *p1 << endl;
    delete p1;             // 释放


    /*-------------------------
       申请并初始化
    -------------------------*/
    int* p2 = new int(20);
    cout << *p2 << endl;
    delete p2;


    /*-------------------------
       申请数组
    -------------------------*/
    int* p3 = new int[5];  // 不保证初始化
    for (int i = 0; i < 5; i++) {
        p3[i] = i + 1;
        cout << p3[i] << " ";
    }
    cout << endl;
    delete[] p3;           // 数组用 delete[]


    /*-------------------------
       new 失败返回异常
       可用 nothrow 防止异常
    -------------------------*/
    int* p4 = new(nothrow) int[1000000000];
    if (!p4) {
        cout << "申请失败" << endl;
    } else {
        delete[] p4;
    }

    return 0;
}

/*
要点:
1) new 分配单个 → delete 释放
2) new[] 分配数组 → delete[] 释放
3) 可使用 new(nothrow) 防止抛异常
*/


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
  • C++ new 运算符
  • 相关推荐

    最新推荐

    热门点击