std::unordered_map<Key,T,Hash,KeyEqual,Allocator>::at
From cppreference.com
| T& at( const Key& key ); |
(1) | (C++11以降) |
| const T& at( const Key& key ) const; |
(2) | (C++11以降) |
template< class K > T& at( const K& x ); |
(3) | (C++26以降) |
| template< class K > const T& at( const K& x ) const; |
(4) | (C++26以降) |
指定されたキーを持つ要素のマップ値への参照を返します。そのような要素が存在しない場合は、std::out_of_range 型の例外がスローされます。
1,2) キーは key と同値です。
3,4) キーは値 x と同値です。マップ値への参照は、式 this->find(x)->second を使って取得されます。
式 this->find(x) は、well-formed であり、well-defined な動作を持つ必要があります。そうでない場合、動作は未定義です。
これらのオーバーロードは、Hash::is_transparent と KeyEqual::is_transparent が有効で、それぞれが型を表している場合にのみ、オーバーロード解決に参加します。これは、そのような
Hash が K 型と Key 型の両方で呼び出し可能であり、KeyEqual が透過的であることを前提としており、これらが zusammen Key 型のインスタンスを構築せずにこの関数を呼び出すことを可能にします。目次 |
[編集] パラメータ
| key | - | 検索する要素のキー |
| x | - | キーと透過的に比較できる任意の型の値 |
[編集] 戻り値
要求された要素のマップ値への参照。
[編集] 例外
[編集] 計算量
平均ケース: 定数、最悪ケース: サイズに対する線形。
注釈
| 機能テストマクロ | 値 | 規格 | 機能 |
|---|---|---|---|
__cpp_lib_associative_heterogeneous_insertion |
202311L |
(C++26) | 順序付けられたおよび順序付けられていない連想コンテナの残りのメンバ関数に対する透過的なオーバーロード。(3,4) |
[編集] 例
| このセクションは未完成です 理由: 例がありません |
[編集] 関連項目
| 指定された要素にアクセスまたは挿入する (public メンバ関数) | |
| 特定のキーを持つ要素を検索する (公開メンバ関数) |