GeezerVison is showing cpprefjp.github.io — std::unordered_map::at - cpprefjp C++日本語リファレンス
最終更新日時:
2026年10月03日 22時31分04秒 (JST)
Akira Takahashi
が更新
履歴
編集
function
<unordered_map>
std:: unordered_map:: at (C++11)
T & at ( const key_type & x ); // (1) C++11
constexpr T & at ( const key_type & x ); // (1) C++26
const T & at ( const key_type & x ) const ; // (2) C++11
constexpr const T & at ( const key_type & x ) const ; // (2) C++26
template < class K >
constexpr T & at ( const K & x ); // (3) C++26
template < class K >
constexpr const T & at ( const K & x ) const ; // (4) C++26
概要
参照のためのメソッドで、取り出す時にキーの存在チェックをする。
(1), (2) : クラスのテンプレートパラメータkey_type型のキーに対応する要素を取得する
(3), (4) : key_typeと比較可能なK型のキーに対応する要素を取得する
テンプレートパラメータ制約
(3), (4) : Hash::is_transparentおよびPred::is_transparentが妥当な式であること
事前条件
(3), (4) : find (x)が妥当な式であり、定義された動作をすること
戻り値
キーxに対応する値を返す。
例外
計算量
平均: 定数時間
最悪: size について線形時間
備考
(3), (4) :
is_transparentは、HashとPredの両方がメンバ型として持つ必要がある。Predにはis_transparentを定義するstd::equal_to <>が使えるが、Hashには標準ライブラリに該当するものがないため、利用者が定義する必要がある。詳細はstd::hash クラスのページを参照。
これらのオーバーロードは、unordered_map<string, int>のようなコンテナに対し、検索操作で文字列リテラルを渡した際に、キー型の一時オブジェクトが生成されるコストを減らすためにある。
例
出力
a
exception std::out_of_range
バージョン
言語
処理系
関連項目
参照