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)

返回容器中存在的元素總數。

廣告