名前空間
変種
操作

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_transparentKeyEqual::is_transparent が有効で、それぞれが型を表している場合にのみ、オーバーロード解決に参加します。これは、そのような HashK 型と Key 型の両方で呼び出し可能であり、KeyEqual が透過的であることを前提としており、これらが zusammen Key 型のインスタンスを構築せずにこの関数を呼び出すことを可能にします。

目次

[編集] パラメータ

key - 検索する要素のキー
x - キーと透過的に比較できる任意の型の値

[編集] 戻り値

要求された要素のマップ値への参照。

[編集] 例外

1,2) コンテナに指定された key を持つ要素が存在しない場合は、std::out_of_range
3,4) コンテナに指定された要素が存在しない場合、つまり find(x) == end()true の場合は、std::out_of_range

[編集] 計算量

平均ケース: 定数、最悪ケース: サイズに対する線形。

注釈

機能テストマクロ 規格 機能
__cpp_lib_associative_heterogeneous_insertion 202311L (C++26) 順序付けられたおよび順序付けられていない連想コンテナの残りのメンバ関数に対する透過的なオーバーロード。(3,4)

[編集]

[編集] 関連項目

指定された要素にアクセスまたは挿入する
(public メンバ関数) [編集]
特定のキーを持つ要素を検索する
(公開メンバ関数) [編集]
English 日本語 中文(简体) 中文(繁體)