c++ new 数组
c++中有new函数
new可用来生成动态无名变量。
使用完动态无名变量后应该及时释放,要用到 delete 运算符。
int *p = new int; //此时指针p指向一个int对象,该对象没有被初始化
int *p = new int(0); //指针p指向一个int对象,该对象被初始化为0
int *p = new int[10]; //指针p指向一个int型数组,该数组未被初始化
int *p = new int[10](0); //指针p指向一个int型数组,该数组的元素都被初始化为0
new就是在程序的堆区申请一个没有命名的空间,你可以把new看成是一个系统内置的函数,该函数返回一个指向没有命名的空间地址(也就是指针).
另外,对于new申请的空间,程序员必须显示的删除该内存空间,用delete删除,比如这样,delete p,
和delete[] p,前者是删除单个对象,后者是删除一个数组
当使用new运算符定义一个多维数组变量或数组对象时,它产生一个指向数组第一个元素的指针,返回的类型保持了除最左边维数外的所有维数。例如: 
int *p1 = new int[10]; 
返回的是一个指向int的指针int* 
int (*p2)[10] = new int[2][10];
指针与二维数组new了一个二维数组, 去掉最左边那一维[2], 剩下int[10], 所以返回的是一个指向int[10]这种一维数组的指针int (*)[10]. 
int (*p3)[2][10] = new int[5][2][10]; new了一个三维数组, 去掉最左边那一维[5], 还有int[2][10], 所以返回的是一个指向二维数组int[2][10]这种类型的指针int (*)[2][10].   

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。