new和C语言中的malloc差不多,对于C语言我不太熟悉。new表达式也可以在空闲存储区中分配数组,在这种情况下:new表达式中的类型指示符后面必须有一对方括号,里面的维数是数组的长度,且该维数可以是一个复杂的表达式。new表达式返回指向数组
第一个元素的指针。例如:
//分配单个int型的对象
//用1024初始化
int *pi=new int(1024);
//分配一个含有1024个元素的数组
//未被初始化
int *pia=new int[1024];
//分配一个含有4*1024个元素的二维数组
int (*pia)[1024]=new int[4][1024];
一般地,在空闲存储区中分配数组不能给出初始化值集。在空闲存储区中创建的内置类型的数组必须在循环中被初始化,即一个接一个地初始化:
for(int i=0;i<1024;++i)
{
pia[i]=0;
}
--------------------next---------------------
阅读(1785) | 评论(0) | 转发(0) |