class template
std::array(C++11)
namespace std {
template <class T, std::size_t N>
struct array;
}
概要
array
は固定長のオブジェクトを保持するシーケンスコンテナで、各要素は連続して格納される。従来のCスタイルの配列のパフォーマンスを保ったまま、シーケンスのサイズの取得、要素の代入のサポートなど、標準コンテナの恩恵を受ける事ができる。また、境界チェック(範囲外の要素にアクセスしようとしていないかのチェック)付きの要素アクセスもサポートしている。
array
は、デフォルトコンストラクタで構築されたarray
オブジェクトが空でない点と、swap()
の計算量が定数時間でない点を除いて、コンテナとリバーシブルコンテナの全ての要件を満たす。
テンプレートパラメータは、以下を意味する:
T
: 配列の要素型
N
: 配列の要素数。0
以上であること
メンバ関数
構築/破棄
要素へのアクセス
名前 |
説明 |
対応バージョン |
at |
境界チェック付きの要素アクセス |
C++11 |
operator[] |
境界チェック無しの要素アクセス |
C++11 |
front |
先頭要素への参照を取得する |
C++11 |
back |
末尾要素への参照を取得する |
C++11 |
data |
コンテナ内部に保持されている生の配列へ直接アクセスする |
C++11 |
イテレータ
名前 |
説明 |
対応バージョン |
begin |
先頭要素を指すイテレータを取得する |
C++11 |
end |
末尾の1つ次の要素を指すイテレータを取得する |
C++11 |
cbegin |
先頭要素を指す読み取り専用イテレータを取得する |
C++11 |
cend |
末尾の次の要素を指す読み取り専用イテレータを取得する |
C++11 |
rbegin |
末尾の要素を指す逆イテレータを取得する |
C++11 |
rend |
先頭の1つ前の要素を指す逆イテレータを取得する |
C++11 |
crbegin |
末尾の要素を指す読み取り専用逆イテレータを取得する |
C++11 |
crend |
先頭の1つ前の要素を指す読み取り専用逆イテレータを取得する |
C++11 |
領域
名前 |
説明 |
対応バージョン |
empty |
コンテナが空かどうかを判定する |
C++11 |
size |
要素数を取得する |
C++11 |
max_size |
格納可能な最大の要素数を取得する |
C++11 |
コンテナの変更
名前 |
説明 |
対応バージョン |
fill |
コンテナを特定の要素で埋める |
C++11 |
swap |
別のarray オブジェクトとコンテナの中身を入れ替える |
C++11 |
メンバ型
名前 |
説明 |
対応バージョン |
reference |
要素の参照型 T& |
C++11 |
const_reference |
読取り専用の要素の参照型 const T& |
C++11 |
iterator |
ランダムアクセスイテレータ (実装定義) |
C++11 |
const_iterator |
読取り専用のランダムアクセスイテレータ (実装定義) |
C++11 |
reverse_iterator |
逆イテレータ reverse_iterator<iterator> |
C++11 |
const_reverse_iterator |
読み取り専用の逆イテレータ reverse_iterator<const_iterator> |
C++11 |
size_type |
符号なし整数型 size_t |
C++11 |
difference_type |
符号付き整数型 ptrdiff_t |
C++11 |
pointer |
要素のポインタ型 T* |
C++11 |
const_pointer |
読取り専用の要素のポインタ型 const T* |
C++11 |
value_type |
要素の型 T |
C++11 |
非メンバ関数
配列作成関数
名前 |
説明 |
対応バージョン |
to_array |
組み込み一次元配列から array を作成する |
C++20 |
推論補助
タプルインタフェースサポート
名前 |
説明 |
対応バージョン |
tuple_size |
静的な要素数取得(class template) |
C++11 |
tuple_element |
静的な要素の型取得(class template) |
C++11 |
get |
要素を取得する(function template) |
C++11 |
例
出力
4
2
5
バージョン
言語
処理系
関連項目
参照