C/C++动态申请内存与数组的初始化..

int*p=newint[3];//怎么在定义时初始化各数组元素,而不是在定义后初始化point*p_p=newpoint[2];//point为类,怎么在定义时用已经定... int *p=new int [3]; //怎么在定义时初始化各数组元素,而不是在定义后初始化
point *p_p=new point [2];
//point 为类,怎么在定义时用已经定义的对象p1,p2初始化申请 的 该对象数组,而不是用默 认构造函数来初始化它。
展开
 我来答
samwang1012
2011-05-26 · 超过39用户采纳过TA的回答
知道答主
回答量:64
采纳率:0%
帮助的人:0
展开全部
对于简单类型int *p=new int(5);
这个是可以的,但是数组和class是不可以的。。。
如果要做到你那样,我推荐你把new operator重载掉来实现你的行为
inline void *
operator new[] (size_t bytes,void* pArray) {
//分配内存,并将pArray内容拷贝到新分配的内存上
}
使用的时候
point pArray[2];
pArray[0] = p1;
pArray[1] = p2;
point* p_p = new(pArray) point [2];
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式