1.数组类型的变量有三个原则:数组的长度固定不变;
编译的时候必须知道其 长度;
数组只在定义它的块语句内存在;
2.动态分配数组三个优势:编译的时候不必知道其长度;
(通常)运行时才确定其长度;
动态分配的数组一直存在,直到程序显式释放它为止;
3.动态分配 数组时,只需要制定类型和数组长度,不必为数组对象命名,new表达式返回指向新分配数组的第一个元素的指针;只能通过地址间接访问对象。
4.动态分配数组的时候,如果数组元素具有类类型,将使用该类的默认构造函数实现初始化;如果数组元素是内置类型,则无初始化;
5.动态创建内置类型的const对象的数组的时候,必须为这个数组提供初始化,因为数组元素都是const对象,无法赋值;元素为类类型,则该类必须提供默认构造函数;
6.可以分配大小为0的动态数组;
7.动态分配的内存必须由程序员显式进行释放,否则内存将会耗尽;
8.delete [] pa;误写成delete pa;回收的时候缺少空方括号,会导致内存泄露,少释放了内存空间;