zoukankan      html  css  js  c++  java
  • c++中的动态内存分配

    使用new和delete动态的分配和释放内存

    使用new来分配新的内存块,通常情况下,如果成功,new将返回一个指针,指向分配的内存,否则将引发异常,使用new时,需要指定要为那种数据类型分配内存:

    Type *Pointer = new Type;

    需要为多个元素内存分配时,还可指定要为多少个元素分配内存:

    Type *Pointer = new Type[numElement];

    因此,如果需要给整型分配内存,可使用如下语法:

    int *pointToAnInt = new int;

    int *pointToNums = new int[10];

    使用new分配的内存最终都需要对应的delete进行释放:

    Type *Pointer = new Type;

    delete Pointer;

    也适用于多个元素分配的内存:

    Type *Pointer = new Type[numElements];

    delete[] = Pointer;

    对于使用new[...]分配的内存块,需要使用delete[]来释放,对于使用new为单个元素分配的内存,需要使用delete来释放。

    不在使用分配的内存,如果不释放他们,这些内存仍被预留并分配给你的应用程序。

    这将减少可供其他应用程序使用的系统内存量,甚至降低你的应用程序的执行速度,这被称为内存泄露,

    应不惜一切代价避免这种情况发生。

  • 相关阅读:
    Codeforces Round #650 (Div. 3)
    C. Count Triangles
    A National Pandemic (思维 + 树链剖分模版)
    扫描线专题
    扫描线模版
    莫队模版
    JS设计模式 -- 4种创建型模式
    滑动窗口的最大值 -- 单调队列
    JS链表实现栈和队列
    js数组扁平化的几种实现方式
  • 原文地址:https://www.cnblogs.com/tanshengjiang/p/11945354.html
Copyright © 2011-2022 走看看