空隙扩大()C++创建Vector类
这个函数将加倍向量的容量。这个函数应该为动态分配的数组重新分配内存并更新容量的值。在调用expand()之前,请注意在容量为0时正确处理这种情况。
确保你不在这里创建内存泄漏。
空隙扩大(无符号量)
该功能将扩大由传入的量向量的容量。此功能应该重新分配存储器的动态分配的数组和更新能力的值。
确保你不在这里创建内存泄漏。
我想回答完成这些功能,但我似乎无法让它工作。这是迄今为止的代码。
void IntVector::expand() {
cap = cap * 2;
int *temp = new int[cap];
for(unsigned i = 0; i < sz; ++i) {
temp[i] = data[i];
}
delete [] data;
}
void IntVector::expand(unsigned amount) {
cap = cap + amount;
int *temp = new int[cap];
for(unsigned i = 0; i < sz; ++i) {
temp[i] = data[i];
}
delete [] data;
}
我也有专用数据字段:
-unsigned SZ:存储intVector的的(当前所用元件的数目)的尺寸。
-unsigned帽:存储阵列
-int的大小*数据:存储整数
我似乎无法找出问题的动态分配的数组的地址。
太谢谢你了。
请发表最小的,完全,可核查例。就目前而言,你的问题是无关紧要的。 –