【C++】动态内存分配 与 对象的动态建立与释放

动态建立和释放

new操作符动态分配内存建立的变量,称为“堆对象”或者“在动态存储中分配”。

  • new运算符创建的堆对象一直存在,直到使用delete运算符显示的销毁。
  • new运算符返回一个与new所分配对象类型相匹配的指针;如果new运算符不能分配到所需要的内存,将返回0,这时为空指针。
    示例: int *p1 = new int(5);

动态创建数组

示例:int *p2 = new int[5];

销毁堆对象

销毁堆对象
delete <指针名>
示例:delete p1;

销毁动态创建的数组

delete [] <指针名>
示例:delete [] p2;
注意:delete运算符后面的中括号中不能写任何数据。

对象的动态建立与释放

new运算符可以动态创建对象。动态创建的对象必须用delete运算符释放。

注意:
1.使用new运算符创建对象时,它可以根据其参数来选择适当的构造函数。
2.使用new创建对象数组时,不能为该数组指定初始值,其初始值为缺省值。所以,使用new创建对象数组时,类中必须说明缺省构造函数。

相关推荐

  1. C++】动态内存分配 对象动态建立释放

    2024-03-29 18:12:05       48 阅读
  2. C动态内存分配释放介绍

    2024-03-29 18:12:05       57 阅读
  3. C语言系列9——动态内存分配释放

    2024-03-29 18:12:05       56 阅读
  4. c++中动态内存分配

    2024-03-29 18:12:05       37 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-29 18:12:05       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-29 18:12:05       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-29 18:12:05       87 阅读
  4. Python语言-面向对象

    2024-03-29 18:12:05       96 阅读

热门阅读

  1. LeetCode 21

    2024-03-29 18:12:05       43 阅读
  2. Leetcoder Day43| 单调栈1

    2024-03-29 18:12:05       36 阅读
  3. TCP建立连接时,为什么每次的SYN都不一样

    2024-03-29 18:12:05       43 阅读
  4. Qwen1.5模型微调部署全过程

    2024-03-29 18:12:05       36 阅读
  5. 【无标题】

    2024-03-29 18:12:05       33 阅读
  6. AI大模型学习:AI大模型在特定领域的应用

    2024-03-29 18:12:05       41 阅读
  7. HDU水题刷题记录

    2024-03-29 18:12:05       49 阅读
  8. C#WPF将变量或自定义数据类绑定到控件实例

    2024-03-29 18:12:05       39 阅读
  9. vue做一个锁屏禁止页面前进后退

    2024-03-29 18:12:05       45 阅读
  10. Android JNI开发定义全局变量

    2024-03-29 18:12:05       41 阅读