reference operator[](size_type n); // (1) C++03
constexpr reference operator[](size_type n); // (1) C++20
const_reference operator[](size_type n) const; // (2) C++03
constexpr const_reference operator[](size_type n) const; // (2) C++20
概要
要素アクセス
戻り値
n
番目の要素への参照を返す。
計算量
定数時間
備考
vector
型のオブジェクトv
に対して、v[n]
と*(v.begin()+ n)
は同じ結果になるn >= size()
の場合、未定義動作となる- この関数は、
at()
メンバ関数とちがって境界チェックを行うことが規定されない。標準ライブラリの実装によってはassert(n < size())
による境界チェックが行われる場合がある
例
#include <iostream>
#include <vector>
int main()
{
std::vector<int> v = {3, 1, 4};
// 2番目の要素を参照する
int& x = v[2];
std::cout << x << std::endl;
}
出力
4