C++ 如何初始化数组
时间: 2024-09-13 07:03:28 浏览: 18
C++中初始化数组可以通过几种不同的方式来完成:
1. 在声明时直接赋值初始化:
```cpp
int arr[] = {1, 2, 3, 4, 5}; // 初始化一个整型数组
```
2. 在声明时使用指定大小,然后逐个元素赋值:
```cpp
int arr[5];
arr[0] = 1;
arr[1] = 2;
// 以此类推,直到 arr[4]
```
3. 使用循环来初始化数组:
```cpp
int arr[5];
for (int i = 0; i < 5; ++i) {
arr[i] = i + 1;
}
```
4. 使用标准库函数 `std::fill` 或 `std::fill_n`:
```cpp
#include <algorithm> // 引入算法库
int arr[5];
std::fill(arr, arr + 5, 0); // 将数组 arr 的所有元素初始化为 0
```
5. 使用初始化列表(C++11及以上版本):
```cpp
std::vector<int> vec = {1, 2, 3, 4, 5}; // 使用初始化列表初始化 vector
```
6. C++11 还引入了基于范围的 for 循环,可以在初始化数组时使用:
```cpp
int arr[5] = {0}; // 首先将所有元素初始化为 0
for (auto &x : arr) {
x++; // 然后将所有元素的值增加 1
}
```
在使用数组时,需要注意数组大小必须在编译时确定,并且数组的内存分配在栈上,这意味着数组的大小受到限制(通常取决于编译器和系统架构)。如果需要动态大小的数组,可以使用 `std::vector`。