
- C 標準庫
- C 標準庫
- C++ 標準庫
- C++ 庫 - 首頁
- C++ 庫 - <fstream>
- C++ 庫 - <iomanip>
- C++ 庫 - <ios>
- C++ 庫 - <iosfwd>
- C++ 庫 - <iostream>
- C++ 庫 - <istream>
- C++ 庫 - <ostream>
- C++ 庫 - <sstream>
- C++ 庫 - <streambuf>
- C++ 庫 - <atomic>
- C++ 庫 - <complex>
- C++ 庫 - <exception>
- C++ 庫 - <functional>
- C++ 庫 - <limits>
- C++ 庫 - <locale>
- C++ 庫 - <memory>
- C++ 庫 - <new>
- C++ 庫 - <numeric>
- C++ 庫 - <regex>
- C++ 庫 - <stdexcept>
- C++ 庫 - <string>
- C++ 庫 - <thread>
- C++ 庫 - <tuple>
- C++ 庫 - <typeinfo>
- C++ 庫 - <utility>
- C++ 庫 - <valarray>
- C++ STL 庫
- C++ 庫 - <array>
- C++ 庫 - <bitset>
- C++ 庫 - <deque>
- C++ 庫 - <forward_list>
- C++ 庫 - <list>
- C++ 庫 - <map>
- C++ 庫 - <multimap>
- C++ 庫 - <queue>
- C++ 庫 - <priority_queue>
- C++ 庫 - <set>
- C++ 庫 - <stack>
- C++ 庫 - <unordered_map>
- C++ 庫 - <unordered_set>
- C++ 庫 - <vector>
- C++ 庫 - <algorithm>
- C++ 庫 - <iterator>
- C++ 高階庫
- C++ 庫 - <any>
- C++ 庫 - <barrier>
- C++ 庫 - <bit>
- C++ 庫 - <chrono>
- C++ 庫 - <cinttypes>
- C++ 庫 - <clocale>
- C++ 庫 - <condition_variable>
- C++ 庫 - <coroutine>
- C++ 庫 - <cstdlib>
- C++ 庫 - <cstring>
- C++ 庫 - <cuchar>
- C++ 庫 - <charconv>
- C++ 庫 - <cfenv>
- C++ 庫 - <cmath>
- C++ 庫 - <ccomplex>
- C++ 庫 - <expected>
- C++ 庫 - <format>
- C++ 庫 - <future>
- C++ 庫 - <flat_set>
- C++ 庫 - <flat_map>
- C++ 庫 - <filesystem>
- C++ 庫 - <generator>
- C++ 庫 - <initializer_list>
- C++ 庫 - <latch>
- C++ 庫 - <memory_resource>
- C++ 庫 - <mutex>
- C++ 庫 - <mdspan>
- C++ 庫 - <optional>
- C++ 庫 - <print>
- C++ 庫 - <ratio>
- C++ 庫 - <scoped_allocator>
- C++ 庫 - <semaphore>
- C++ 庫 - <source_location>
- C++ 庫 - <span>
- C++ 庫 - <spanstream>
- C++ 庫 - <stacktrace>
- C++ 庫 - <stop_token>
- C++ 庫 - <syncstream>
- C++ 庫 - <system_error>
- C++ 庫 - <string_view>
- C++ 庫 - <stdatomic>
- C++ 庫 - <variant>
- C++ STL 庫速查表
- C++ STL - 速查表
C++ 庫 - <array>
介紹
陣列是固定大小的順序容器。容器是儲存相同型別資料的物件。順序容器嚴格按照線性順序儲存元素。
容器類使用隱式建構函式靜態分配所需的記憶體。記憶體是在編譯時分配的,因此陣列大小在執行時不能縮小或擴充套件。陣列中的所有元素都位於連續的記憶體位置。
定義
以下是 <array> 標頭檔案中 std::array 的定義。
template < class T, size_t N > class array;
引數
T − 包含的元素的型別。
T 可以被任何其他資料型別替換,包括使用者定義的型別。
N − 陣列的大小。
零大小的陣列也是有效的。在這種情況下,array.begin() 和 array.end() 指向相同的位置。但是呼叫 front() 或 back() 的行為是未定義的。
成員型別
以下成員型別可以用作成員函式的引數或返回型別。
序號 | 成員型別 | 定義 |
---|---|---|
1 | value_type | T(模板的第一個引數) |
2 | reference | value_type& |
3 | const_reference | const value_type& |
4 | pointer | value_type* |
5 | const_pointer | const value_type* |
6 | iterator | 指向 value_type 的隨機訪問迭代器 |
7 | const_iterator | 指向 const value_type 的隨機訪問迭代器 |
8 | reverse_iterator | std::reverse_iterator <iterator> |
9 | const_reverse_iterator | std::reverse_iterator <const_iterator> |
10 | size_type | size_t |
11 | difference_type | ptrdiff_t |
來自 <array> 的函式
以下是 <array> 標頭檔案中所有方法的列表。
成員函式
序號 | 方法和描述 |
---|---|
1 | array::at
返回對給定陣列容器中位置 N 處的元素的引用。 |
2 | array::back
返回對陣列容器中最後一個元素的引用。 |
3 | array::begin
返回一個指向陣列開頭的迭代器。 |
4 | array::cbegin
返回一個指向陣列開頭的常量迭代器。 |
5 | array::cend
返回一個指向陣列末尾元素之後的常量迭代器。 |
6 | array::crbegin
返回一個指向陣列最後一個元素的常量反向迭代器。 |
7 | array::crend
返回一個指向末尾之後的常量反向迭代器。 |
8 | array::data
返回一個指向陣列容器第一個元素的指標。 |
9 | array::empty
測試陣列的大小是否為零。 |
10 | array::end
返回一個指向陣列末尾元素之後的迭代器。 |
11 | array::fill
將給定值設定為陣列的所有元素。 |
12 | array::front
返回對陣列容器中第一個元素的引用。 |
13 | array::max_size
返回陣列容器可以容納的最大元素數。 |
14 | array::operator[]
返回對給定陣列容器中位置 N 處的元素的引用。 |
15 | array::rbegin
返回一個指向陣列最後一個元素的反向迭代器。 |
16 | array::rend
返回一個指向陣列理論上第一個元素之前的反向迭代器。 |
17 | array::size
返回陣列中存在的元素數。 |
18 | array::swap
交換兩個陣列的內容。 |
非成員過載函式
序號 | 方法和描述 |
---|---|
1 | get(array)
返回對陣列容器中第 I 個元素的引用。 |
2 | bool operator==
測試兩個容器是否相同。 |
3 | bool operator!=
測試兩個容器是否相同。 |
4 | bool operator<
測試第一個陣列容器是否小於第二個容器。 |
5 | bool operator<=
測試第一個陣列容器是否小於或等於第二個容器。 |
6 | bool operator>
測試第一個陣列容器是否大於第二個容器。 |
7 | bool operator>=
測試第一個陣列容器是否大於或等於第二個容器。 |
非成員特化函式
序號 | 方法和描述 |
---|---|
1 | tuple_element(array)
使用類似元組的介面提供對陣列元素型別的編譯時索引訪問。 |
2 | tuple_size(array)
返回容器中存在的元素總數。 |