admin 管理员组文章数量: 1087139
2024年4月22日发(作者:网站制作专业吗)
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].
版权声明:本文标题:c++ new 数组 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/p/1713749198a649771.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论