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

      new和delete运算符用于动态分配和撤销内存的运算符

    new用法:

              1.     开辟单变量地址空间

                   1)new int;  //开辟一个存放数组的存储空间,返回一个指向该存储空间的地址.int *a = new int 即为将一个int类型的地址赋值给整型指针a. 

                   2)int *a = new int(5) 作用同上,但是同时将整数赋值为5

              2.     开辟数组空间

                   一维: int *a = new int[100];开辟一个大小为100的整型数组空间

                   二维: int **a = new int[5][6]

                   三维及其以上:依此类推.

             一般用法: new 类型 [初值]

    delete用法:

              1. int *a = new int;

                   delete a;   //释放单个int的空间

              2.int *a = new int[5];

                   delete [] a; //释放int数组空间

              要访问new所开辟的结构体空间,无法直接通过变量名进行,只能通过赋值的指针进行访问.

              用new和delete可以动态开辟,撤销地址空间.在编程序时,若用完一个变量(一般是暂时存储的数组),下次需要再用,但却又想省去重新初始化的功夫,可以在每次开始使用时开辟一个空间,在用完后撤销它.

    还有一点经常疑惑是是,new 后面加括号与不加括号有什么区别?

       new<类型说明符>(<初始值列表>)
    如果省略<初始值列表>,则所创建的对象将采用默认值,即调用默认构造函数。如果没括号,则调用调用默认构造函数或唯一的构造函数。

     

  • 相关阅读:
    ActiveSync合作关系对话框的配置
    WINCE对象存储区(object store)
    Wince 隐藏TASKBAR的方法
    Wince输入法换肤换语言机制
    poj 3080 Blue Jeans 解题报告
    codeforces A. Vasily the Bear and Triangle 解题报告
    hdu 1050 Moving Tables 解题报告
    hdu 1113 Word Amalgamation 解题报告
    codeforces A. IQ Test 解题报告
    poj 1007 DNA Sorting 解题报告
  • 原文地址:https://www.cnblogs.com/youxin/p/2502549.html
Copyright © 2011-2022 走看看