动态数组
动态数组的定义
int * pia=new int[]10;
自由存储区,创建的动态数组,并没有名字,只能通过其地址间接地访问堆中的对象
动态分配数组时候,如果数组元素为 类类型 那么将使用该类的默认构造函数实现初始化,
而如果为内置类型,则无初始化
如前面的 new int[10]就无初始化
const对象的动态数组必须初始化
const对象无法赋值,所以必须初始化,
如
const int * pia=new const int[100]; //erro
const int * pia=new const int[100](); //ok:
类类型的const数组是允许的,但该类必须提供默认构造函数。
允许动态分配空数组
size_t n=get_size();
int *p= new int [n];
for(int *q=p;q!=p+n;q++)
{
//do something ;
}
释放:
delet [];