动态数组怎么用
时间: 2023-08-02 19:23:55 浏览: 45
在 C++ 中,动态数组一般使用关键字 `new` 动态分配内存来实现。下面是一个简单的例子,展示了如何使用动态数组:
```c++
#include <iostream>
int main() {
int n = 5; // 数组大小
int* arr = new int[n]; // 动态分配一个大小为n的int数组
// 对数组进行赋值和输出
for (int i = 0; i < n; i++) {
arr[i] = i * i;
std::cout << arr[i] << " ";
}
std::cout << std::endl;
// 释放动态分配的内存
delete[] arr;
return 0;
}
```
在上面的例子中,我们首先使用 `new` 关键字动态分配了一个大小为n的 int 数组,并进行了赋值和输出。最后,使用 `delete[]` 关键字释放了动态分配的内存。需要注意的是,动态分配的内存必须手动释放,否则可能会导致内存泄漏。
除了使用 `new` 和 `delete[]` 实现动态数组,C++11 引入了 `std::vector` 容器,也可以方便地实现动态数组。使用 `std::vector` 的示例代码如下:
```c++
#include <iostream>
#include <vector>
int main() {
int n = 5; // 数组大小
std::vector<int> arr(n); // 动态分配一个大小为n的int数组
// 对数组进行赋值和输出
for (int i = 0; i < n; i++) {
arr[i] = i * i;
std::cout << arr[i] << " ";
}
std::cout << std::endl;
return 0;
}
```
在上面的代码中,我们使用 `std::vector` 容器动态分配了一个大小为n的 int 数组,并进行了赋值和输出。由于 `std::vector` 是一个封装好的容器,其内存的分配和释放都由容器自动管理,因此不需要手动释放内存。