C++调整动态数组的大小
C++ Resize Dynamic Array
我一直在尝试调整这个数组的大小,它编译得很好,但是当我运行它时,我收到这条很长的错误消息。
下面是该函数的代码:
void arrayClass_Namespace::arrayClass::resize(int newSize)
{
std::cout << "nPlease input a new size for the array: ";
std::cin >> newSize;
assert(newSize < MAX_SIZE);
int *resize_arr = new int[newSize];
for(int index = 0; index < size; index++)
{
resize_arr[index] = arr[index];
}
size++;
arr = resize_arr;
delete[] resize_arr;
}
这是现在运行良好的更新代码:
void arrayTools_GabriellaRamirez::arrayTools::resize(int newSize)
{
std::cout << "nPlease input a new size for the array: ";
std::cin >> newSize;
assert(newSize < MAX_SIZE);
int *resize_arr = new int[newSize];
for(int index = 0; index < size; index++)
{
resize_arr[index] = arr[index];
}
for(int index = size; size < newSize; index++)
{
size++;
}
for(int index = size; size > newSize; index++)
{
size--;
}
delete [] arr;
arr = resize_arr;
}
delete[] resize_arr
正在删除您创建的新数组。你需要做的
delete[] arr;
arr = resize_arr;
顺便说一句,您不会检查以确保新数组大小不小于used
因此您可能会写出新数组的界限。
我也认为size++
不正确。
相关文章:
- 为char数组调整zlib-zpipe
- 当您在此单词中搜索单词时调整字符数组的大小?
- 调整大小和复制哈希表数组中的元素
- 尝试将数组大小调整为 -1
- 将动态分配的数组的大小调整为较小的大小C++
- 我的C++程序有问题.涉及动态调整整数数组的大小
- 通过新的后传递后创建的动态数组的错误以调整函数
- 在哈希表中调整字符串数组的大小
- 与教科书上关于未调整大小的数组初始化C++句子的混淆
- 调整双指针数组C++大小
- 调整结构/字符数组的大小(以减少内存使用)
- 我的数组大小调整代码在新数据上引发异常[size_t]
- 如何使用3D char数组调整双指针2D char阵列的大小
- C++ 数组将所有值调整相同的量
- 调整动态数组大小时保留用户输入的值的问题
- C++我需要能够调整动态数组的大小
- 如何调整属于类的唯一指针的字符数组的大小.它必须在程序的整个生命周期中保持活力
- 调整小于连续数组的 C++ 矢量大小
- 我需要调整指针数组的大小
- 动态数组调整大小函数问题