c++ 数组怎么扩容
时间: 2024-10-11 19:10:04 浏览: 17
C++数组名扩展
在 C++ 中,数组一旦初始化并分配了内存,其大小通常是固定的,不能直接扩容。如果你需要在程序运行过程中动态地增加数组的容量,你需要创建一个新的更大的数组,并将原数组的数据复制到新数组中。这是一个常见的操作,通常称为“数组溢出”处理。
下面是一个简单的示例,展示如何动态扩容一维整型数组:
```cpp
#include <iostream>
// 定义一个函数用于动态扩容
void resizeArray(int* array, int newSize) {
if (newSize > sizeof(array) / sizeof(array[0])) { // 检查是否有足够的空间
int* newArray = new int[newSize]; // 分配新的内存
for (int i = 0; i < sizeof(array) / sizeof(array[0]); i++) {
newArray[i] = array[i]; // 复制旧数据
}
delete[] array; // 释放旧数组内存
array = newArray; // 更新指向新数组
}
}
int main() {
int arr[5] = {1, 2, 3, 4, 5};
// 扩容到10个元素
resizeArray(arr, 10);
// 现在arr可以存储更多的值了
std::cout << "New size: " << sizeof(arr) / sizeof(arr[0]) << std::endl;
return 0;
}
```
阅读全文