Skip to content

Latest commit

 

History

History
80 lines (61 loc) · 1.63 KB

File metadata and controls

80 lines (61 loc) · 1.63 KB

operator[]

  • unordered_map[meta header]
  • std[meta namespace]
  • unordered_map[meta class]
  • function[meta id-type]
  • cpp11[meta cpp]
T& operator[](const key_type& x);
T& operator[](key_type&& x);

概要

要素へのアクセス

戻り値

キーxに対応する値を返す。対応する要素が存在しない場合は、要素を値初期化して参照を返す。

例外

ハッシュ関数以外から例外が投げられた場合には、対応する要素がない場合の新規要素の挿入処理は実施されない。

計算量

  • 平均: 定数時間
  • 最悪: size について線形時間

#include <iostream>
#include <unordered_map>

template<class Container, class T>
void at_wrap(Container &c, T v) {

  std::cout << "{" << c[v] << "}" << std::endl;
}

int main()
{
  std::unordered_map<int, char> um;
  um.insert(std::make_pair(1,'a'));

  std::cout << "size=" << um.size() << std::endl;

  at_wrap(um, 1);
  at_wrap(um, 2);

  std::cout << "size=" << um.size() << std::endl;

  return 0;
}
  • c[v][color ff0000]
  • um.insert[link insert.md]
  • um.size()[link size.md]

出力

size=1
{a}
{}
size=2

バージョン

言語

  • C++11

処理系

関連項目

名前 説明
operator= 代入演算子
insert 要素を挿入する