std::inplace_vector<T,N>:: operator[]
|
(C++17)
|
||||
| Sequence | ||||
|
(C++11)
|
||||
|
(C++26)
|
||||
|
(C++26)
|
||||
|
(C++11)
|
||||
| Associative | ||||
| Unordered associative | ||||
|
(C++11)
|
||||
|
(C++11)
|
||||
|
(C++11)
|
||||
|
(C++11)
|
||||
| Adaptors | ||||
|
(C++23)
|
||||
|
(C++23)
|
||||
|
(C++23)
|
||||
|
(C++23)
|
||||
| Views | ||||
|
(C++20)
|
||||
|
(C++23)
|
||||
| Tables | ||||
| Iterator invalidation | ||||
| Member function table | ||||
| Non-member function table |
| Member types | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Non-member functions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
constexpr
reference operator
[
]
(
size_type pos
)
;
|
(1) | (C++26以降) |
|
constexpr
const_reference operator
[
]
(
size_type pos
)
const
;
|
(2) | (C++26以降) |
指定された位置 pos の要素への参照を返します。
If pos < size ( ) is false :
- 実装が ハードニング されている場合、 契約違反 が発生します。さらに、"observe"評価セマンティクス下で契約違反ハンドラが戻った場合、動作は未定義です。
- 実装がハードニングされていない場合、動作は未定義です。
目次 |
パラメータ
| 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) |