std::inplace_vector<T,N>::operator[]
ja.cppreference.net より
constexpr reference operator[]( size_type pos );
|
(1) | (C++26以降) |
constexpr const_reference operator[]( size_type pos ) const;
|
(2) | (C++26以降) |
指定された位置にある要素への参照を返します。pos
実装がハードン化されていない限り、境界チェックは行われません。
もし pos < size() は false :
- 実装が hardened の場合、 contract violation が発生します。
- 実装がハードン化されていない場合、動作は未定義です。
パラメータ
| pos | - | 返す要素の位置 |
戻り値
要求された要素への参照。
計算量
定数。
注記
std::map::operator[] とは異なり、この演算子はコンテナに新しい要素を挿入することはありません。この演算子を通じて存在しない要素にアクセスすることは、実装が強化されていない限り、未定義動作となります。
例
以下のコードは operator [ ] を使用して std:: inplace_vector < int , N > の読み書きを行います:
このコードを実行
#include <inplace_vector> #include <iostream> int main() { std::inplace_vector<int, 4> numbers{2, 4, 6, 8}; std::cout << "Second element: " << numbers[1] << '\n'; numbers[0] = 5; std::cout << "All numbers:"; for (auto i : numbers) std::cout << ' ' << i; std::cout << '\n'; }
出力:
Second element: 4 All numbers: 5 4 6 8
関連項目
|
境界チェック付きで指定された要素にアクセス
(public member function) |