zoukankan      html  css  js  c++  java
  • [C++] c++ new() 与new[]的区别

    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]
                         for()
                         {a[i] = new int[6];}
                   三维及其以上:依此类推.
             一般用法: new 类型 [初值]
    delete用法:
              1. int *a = new int;
                   delete a;   //释放单个int的空间
              2.int *a = new int[5];
                   delete [] a; //释放int数组空间
     
              要访问new所开辟的结构体空间,无法直接通过变量名进行,只能通过赋值的指针进行访问.
              用new和delete可以动态开辟,撤销地址空间.在编程序时,若用完一个变量(一般是暂时存储的数组),下次需要再用,但却又想省去重新初始化的功夫,可以在每次开始使用时开辟一个空间,在用完后撤销它.

  • 相关阅读:
    Codeforces Round #642 (Div. 3)
    [P4980] 【模板】Polya定理
    [SCOI2016] 幸运数字
    [P4389] 付公主的背包
    [CF438E] The Child and Binary Tree
    最长异或路径
    [AHOI2013] 作业
    [P4841] [集训队作业2013] 城市规划
    Python 第三方库国内镜像安装
    [CF1202D] Print a 1337-string...
  • 原文地址:https://www.cnblogs.com/robbychan/p/3787003.html
Copyright © 2011-2022 走看看