zoukankan      html  css  js  c++  java
  • new和delete4

    C++告诉我们在回收用 new 分配的单个对象的内存空间的时候用 delete,回收用 new[] 分配的一组对象的内存空间的时候用 delete[]。

    关于 new[] 和 delete[],其中又分为两种情况:(1) 为基本数据类型分配和回收空间;(2) 为自定义类型分配和回收空间。

    对于 (1),上面提供的程序a可以证明了 delete[] 和 delete 是等同的。

    程序a:
    #include <stdio.h>
    #define BUFF_SIZE 10240
    int main(int argc, char *argv[])
    {
            printf("Hello, world\n";
            char* p = NULL;
            while(1)
            {
                    p = new int[BUFF_SIZE];
                    printf("0x%08XH\n",p);
                    Sleep(5000);
                    delete p; //或者delete [] p;
                    p = NULL;               
            }
            return 0;
    }


    但是对于 (2),如若p = new ClassA[BUFF_SIZE],情况就发生了变化,此时必须用delete[] p;来析构释放内存。


  • 相关阅读:
    转Vtype扩展
    Can't connect to MySQL server on 'ip' (13)
    观察者+js 模式
    (转)ASP.NET架构分析
    sql得到时间
    Js+XML 操作 (转)
    js中的math对象
    property和attribute的区别
    CSS样式定义
    linux 开启 mount
  • 原文地址:https://www.cnblogs.com/BloodAndBone/p/1957807.html
Copyright © 2011-2022 走看看