• 动态创建和销毁对象 new&&delete [C++Primer]


    1.数组类型的变量有三个原则:数组的长度固定不变;

                                        编译的时候必须知道其 长度;

                                        数组只在定义它的块语句内存在;

    2.动态分配数组三个优势:编译的时候不必知道其长度;

                                  (通常)运行时才确定其长度;

                                   动态分配的数组一直存在,直到程序显式释放它为止;

    3.动态分配 数组时,只需要制定类型和数组长度,不必为数组对象命名,new表达式返回指向新分配数组的第一个元素的指针;只能通过地址间接访问对象。

    4.动态分配数组的时候,如果数组元素具有类类型,将使用该类的默认构造函数实现初始化;如果数组元素是内置类型,则无初始化;

    5.动态创建内置类型的const对象的数组的时候,必须为这个数组提供初始化,因为数组元素都是const对象,无法赋值;元素为类类型,则该类必须提供默认构造函数;

    6.可以分配大小为0的动态数组;

    7.动态分配的内存必须由程序员显式进行释放,否则内存将会耗尽;

    8.delete [] pa;误写成delete pa;回收的时候缺少空方括号,会导致内存泄露,少释放了内存空间;

  • 相关阅读:
    JNDI技术扩展
    多数据源配置
    单数据源配置
    配置文件初始化异常Configuration system failed to initialize
    控制台应用程序中托管Web API 1.0,不需要IIS。
    WPF界面卡顿简要分析和处理
    异常System.AccessViolationException的处理方式
    logstash 启动报错
    常用命令总结
    mac 安装kafka扩展
  • 原文地址:https://www.cnblogs.com/cy568searchx/p/2988904.html
Copyright © 2020-2023  润新知