c++

C++ array类如何进行大小调整

小樊
94
2024-07-19 02:53:36
栏目: 编程语言

在C++中,数组的大小是静态的,一旦声明后就不能改变。如果需要动态调整数组的大小,可以使用动态数组或者使用std::vector类。

  1. 使用动态数组:可以使用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; // 更新指针
  1. 使用std::vector类:std::vector是C++标准库中的动态数组容器,可以方便地实现数组大小的动态调整。例如:
#include <vector>

std::vector<int> vec;
vec.resize(10); // 调整数组大小为10

vec.push_back(5); // 在末尾添加元素
vec.pop_back(); // 删除末尾元素

通过使用动态数组或std::vector类,可以方便地进行数组大小的调整操作。

0
看了该问题的人还看了