zoukankan      html  css  js  c++  java
  • C++基础知识(3)---new 和 delete

     学过c语言的人都知道,c语言中动态分配内存空间使用的是库函数malloc,calloc,realloc以及free。而c++中所使用的是关键字new和delete。如

      动态分配 new  ,  撤销内存  delete  

    1 new int;   //开辟一个存放整数的存储空间,返回一个指向该存储空间的地址(即指针)
    2 
    3 new int(100);   //开辟一个人存放整数的空间,并指定初值为100,返回一个指向该存储空间的地址
    4 
    5 new char[10];   //包括10个元素的空间,返回首元素的地址
    6 
    7 float *p = new float(3.14159);  //开辟一个存放单精度数的空间,并指定该实数的值为3.14159,返回该空间的地址赋值给指针变量 p

      如果由于内存不足等原因而无法正常分配空间,则new会返回一个空指针NULL。

      上诉第4个,要撤销用new分配的空间,则

    1 delete p;

       delete 运算符使用的一般格式:

         delete [] 指针变量 

      

     需要注意的是,不要将c语言中的内存分配函数和c++中的new和delete混用,这样将会造成不可预知的后果。

  • 相关阅读:
    简版一致性hash算法实现
    js类型转换问题
    VIVADO 2017.4配置MIG IP注意事项
    工作笔记2
    工作笔记1
    spring5 + hibernate5(redisson二级缓存) + JPA + JTA + ActiveMQ(JMS)
    spring data jpa 缓存(hibernate)
    JPA @Temporal
    C++ RTTI
    二叉树遍历方法总结
  • 原文地址:https://www.cnblogs.com/wyuzl/p/6184055.html
Copyright © 2011-2022 走看看