當前位置:
首頁 >
STL容器系列文章:array容器
發布時間:2023/12/14
34
豆豆
生活随笔
收集整理的這篇文章主要介紹了
STL容器系列文章:array容器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 頭文件
#include <array>2. 定義
- C11中引入,靜態數組,序列式容器。array可以看做普通數組添加了成員函數,使得數組能夠被當成標準容器來使用。容器的大小固定,無法動態擴展或收縮。定義一個array時,除了指定元素類型,還要指定容器大小。
- array以類模板的形式定義:
3. 對象創建
| array<int, 3> arr = {1, 2, 3}; | 定義類型為int,大小為3的數組并初始化為{1, 2, 3} |
| array<int, 10> arr = {1, 2, 3}; | 前三個元素賦值,后7個元素為0 |
| array<double, 10> arr = {1.5, 2.0, 1.0}; | double類型數組,前三個元素賦值,后7個元素為0.0 |
| array<int, 3> arr = {0}; | 所有元素初始化為0 |
| array<int, 3> arr; | 未初始化,是垃圾值,不推薦 |
| array<int, 3> arr = {}; | 未初始化,比上一種方式好 |
| array<int, 0> arr; | 合法定義,size為0,元素為某個未知的值 |
| array<int, 3> arr({1, 2, 3}); | 定義非法!沒有定義這種類型的拷貝構造函數 |
- 拷貝構造:
- 二維數組
4. 常用方法
- 大小
| arr.size() | 容器元素個數 |
| arr.max_size() | 容器所能容納的最大元素個數 |
| arr.empty() | 判斷容器是否為空 |
- 訪問
| array<int, 3> arr = {1, 2, 3}; arr[1]; 或 arr.at(1); | []或at()方式訪問 |
| arr.front(); arr.back(); | front()和back()不要為空時訪問首尾元素 |
| arr.data(); | 獲取第一個數據的指針,也就是數組首地址 |
- 比較
- 迭代器
| begin()/end() | 正向迭代器 |
| rbegin()/rend() | 反向迭代器 |
| cbegin()/cend() | const正向迭代器 |
| crbegin()/crend() | const反向迭代器 |
- 交換swap:兩個容器元素類型和個數相同
| arr1.swap(arr2); | 方式1 |
| swap(arr1, arr2); | 方式2 |
- 其他函數
- fill函數:arr.fill(value); // 使用value值填充數組所有元素
參考文章:
array介紹
array定義和常用方法
推薦閱讀
created by shuaixio, 2021.07.25
總結
以上是生活随笔為你收集整理的STL容器系列文章:array容器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机先驱巴贝奇
- 下一篇: Oracle Demo库默认用户/密码为