public member function
<unordered_map>

std::unordered_map::at

mapped_type& at ( const key_type& k );const mapped_type& at ( const key_type& k ) const;
訪問元素
返回一個對 kunordered_map 中元素的對映值的引用。

如果 k 與容器中任何元素的鍵不匹配,該函式將丟擲 out_of_range 異常。

引數

k
被訪問對映值的元素的鍵值。
成員型別key_type是容器中元素的鍵。在 unordered_map 中定義為其第一個模板引數的別名().

返回值

對具有等效鍵值 k 的元素的對映值的引用。

成員型別mapped_type是容器中對映值型別,在 unordered_map 中定義為其第二個模板引數的別名(T).

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// unordered_map::at
#include <iostream>
#include <string>
#include <unordered_map>

int main ()
{
  std::unordered_map<std::string,int> mymap = {
                { "Mars", 3000},
                { "Saturn", 60000},
                { "Jupiter", 70000 } };

  mymap.at("Mars") = 3396;
  mymap.at("Saturn") += 272;
  mymap.at("Jupiter") = mymap.at("Saturn") + 9638;

  for (auto& x: mymap) {
    std::cout << x.first << ": " << x.second << std::endl;
  }

  return 0;
}

可能的輸出
Saturn: 60272
Mars: 3396
Jupiter: 69910


複雜度

平均情況:常量。
最壞情況:與 容器大小 成線性關係。

迭代器有效性

沒有變化。

另見