动态数组怎么在申请内存的时候也初始化
1个回答
展开全部
对于简单类型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];
这个是可以的,但是数组和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];
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询