在C++中,数组的大小是静态的,一旦声明后就不能改变。如果需要动态调整数组的大小,可以使用动态数组或者使用std::vector类。
- 使用动态数组:可以使用new和delete关键字动态分配和释放内存来创建动态数组。例如:
int *arr = new int[size]; // 创建动态数组 delete[] arr; // 释放内存
在需要调整数组大小时,可以先创建一个新的动态数组,然后将原数组的元素复制到新数组中,并释放原数组的内存。例如:
int newSize = 10; int *newArr = new int[newSize]; // 创建新数组 std::copy(arr, arr + size, newArr); // 复制元素 delete[] arr; // 释放原数组内存 arr = newArr; // 更新指针
- 使用std::vector类:std::vector是C++标准库中的动态数组容器,可以方便地实现数组大小的动态调整。例如:
#includestd::vector vec; vec.resize(10); // 调整数组大小为10 vec.push_back(5); // 在末尾添加元素 vec.pop_back(); // 删除末尾元素
通过使用动态数组或std::vector类,可以方便地进行数组大小的调整操作。