std::array怎么初始化
时间: 2024-12-17 14:08:21 浏览: 8
`std::array`是C++11引入的标准模板库(STL)中的数组容器,它提供了一种类似于数组的高效线程安全的数据存储方式。初始化`std::array`有多种方法,以下是常见的几种方式:
1. **静态大小的初始化**:
```cpp
std::array<int, 5> arr = {1, 2, 3, 4, 5}; // 初始化为连续的整数
```
2. **直接赋值**:
```cpp
std::array<int, 5> arr = {0}; // 全部元素默认初始化为0
arr[0] = 1; // 然后可以逐个修改元素
```
3. **使用初始值列表**:
```cpp
std::array<std::string, 3> arr = {"Hello", "World", ""}; // 创建一个包含三个字符串的数组
```
4. **构造函数**:
```cpp
std::array<int, 3> arr(3, 0); // 初始化所有元素为0
```
5. **拷贝构造函数**:
```cpp
std::array<int, 5> arr1 = {1, 2, 3, 4, 5};
std::array<int, 5> arr2(arr1); // 拷贝arr1的所有内容
```
6. **动态初始化**:
```cpp
std::array<int, 5> arr;
arr.resize(3); // 初始容量为3,其余元素未定义
arr[0] = 1;
```
注意,`std::array`的大小在创建时是固定的,一旦初始化就不能改变。如果你需要动态调整大小,可以选择`std::vector`或其他动态容器。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)