zoukankan      html  css  js  c++  java
  • C++

    内存管理

    C:

    int *p = (int*) malloc(sizeof(int)*10);  //分配10个int型的内存空间
    free(p);  //释放内存
    

    C++:

    int *p = new int;  //分配1个int型的内存空间
    delete p;  //释放内存
    
    分配释放连续的数据:
    int *p = new int[10];  //分配10个int型的内存空间
    delete[] p;
    

    C++变量释放内存

    int *p=new int;  //**
    if(NULL==p)
    {
    //内存分配失败
    //异常处理
    }
    delete p;  //**
    p=NULL;
    

    C++数组释放内存

    int *p=new int[10];  //**
    if(NULL==p)
    {
    //内存分配失败
    //异常处理
    }
    delete []p;  //**
    p=NULL;
    

    注意

    malloc和new是在堆区分配内存的,必须手动释放,否则只能等到程序运行结束由操作系统回收。为了避免内存泄露,通常 new 和 delete、new[] 和 delete[] 操作符应该成对出现,并且不要和C语言中 malloc()、free() 一起混用。

  • 相关阅读:
    命令行
    作业三C++
    作业二
    0003---简单的a+b问题
    0002---五层小山
    0001---Hello world
    关于OJ的那些事
    CDQ分治学习笔记
    C++ IO的一些注意点
    Vscode配置C++环境
  • 原文地址:https://www.cnblogs.com/OFSHK/p/13547383.html
Copyright © 2011-2022 走看看