zoukankan      html  css  js  c++  java
  • C++Review13_new和delete用法

    1、new 一个对象:

     1 
      class Solution{
      public: 2 Solution(){ 3 4 } 5 6 Solution(int value){ 7 this->value = value; 8 } 9 }; 10 int main() 11 { 12 Solution * sol_ptr1; 13 Solution * sol_ptr2; 14 15 sol_ptr1 = new Solution(11); 16 sol_ptr2 = new Solution; 17 18 cout<<"sol_ptr1 "<<sol_ptr1->value<<endl; 19 cout<<"sol_ptr2 "<<sol_ptr2->value<<endl; 20 21 delete sol_ptr1; 22 delete sol_ptr2; 23 sol_ptr1 = nullptr; 24 cout<<sol_ptr1<<endl; 25 26 }

    2、new 一个单变量:

    int * ptr = new int(5) ; //括号表示,同时将整数赋值为5;

    int * ptr = new int;      //这样会产生一个随机值;

     

    3、new 一个一维数组:

    一维数组new的时候要指定数组大小,而且可以使用{}进行初始化;

    二维数组的动态空间申请、释放比较麻烦。以后再讨论;

    3、delete用法:

    一般是  delete 指针变量名;

    或者是  delete [] 指针变量名; //对数组空间的释放;

    4、其他:

    new内存分配失败时,会抛出bac_alloc异常,它不会返回NULL;malloc分配内存失败时返回NULL。

    new操作符内存分配成功时,返回的是对象类型的指针,类型严格与对象匹配,无须进行类型转换,故new是符合类型安全性的操作符。

    相关链接:

    c++中new与delete的用法总结:https://blog.csdn.net/zcawesome/article/details/78777832

    C++中为二维数组开辟空间,并释放空间:https://blog.csdn.net/feilong1lantern/article/details/50278593

  • 相关阅读:
    Java Web
    对象拷贝
    多线程
    容器
    新鲜出炉一份Java面试清单,共200+道题
    优秀博客
    【安防】自动光圈控制
    【硬件】变压器的电特性参数
    【工作总结】IPD开发管理流程
    【EMC】EMI滤波器
  • 原文地址:https://www.cnblogs.com/grooovvve/p/12370366.html
Copyright © 2011-2022 走看看