【发布时间】:2022-02-22 14:07:38
【问题描述】:
我一直在尝试制作一个添加 2 个不同大小的数组的程序。但我想知道动态增加数组大小容量?例如:array[4] 然后将大小升级为 2 以制作 array[6];? 编辑:不使用向量
我尝试创建一个新的 ptr,但它不起作用。我收到错误:只读变量不可分配。
int *ptr2 = new int[a2.size];
// new ptr2 copies ptr1
for (int i=0; i<(a1.size); i++) {
ptr2[i] = a1.ptr[i];
}
// we want ptr1 to point to ptr2
for (int i=0; i<(a2.size); i++) {
ptr2[i] += a2.ptr[i];
}
delete [] a1.ptr;
a1.ptr=ptr2;
【问题讨论】:
-
为什么不使用矢量?它确实,你想要什么..
-
我不想使用向量。我在哪里可以分配新的内存?你为什么这么快就投反对票?
-
@EEstud - 您可以在构造函数中分配内存。我对这个问题投了反对票……但是。
标签: c++