unordered_map中at函数怎么对形参使用
时间: 2023-10-13 20:16:19 浏览: 78
`std::unordered_map` 的 `at` 函数可以用于访问指定键所对应的值。它的语法如下:
```c++
T& at( const Key& key );
const T& at( const Key& key ) const;
```
其中,`key` 是指要查找的键。如果键存在,则返回对应的值的引用,否则会抛出 `std::out_of_range` 异常。
例如,若要访问 `std::unordered_map<std::string, int> myMap` 中键为 `"hello"` 的值,可以使用以下代码:
```c++
int value = myMap.at("hello");
```
注意,如果你对一个不存在的键使用 `at` 函数,则会抛出 `std::out_of_range` 异常。因此,在使用 `at` 函数之前,应该先使用 `count` 函数检查该键是否存在。
相关问题
怎么对形参使用unordered_map中at函数
unordered_map中的at函数可以用来获取一个键对应的值。使用方法如下:
```c++
std::unordered_map<std::string, int> umap = {{"apple", 1}, {"banana", 2}, {"orange", 3}};
int value = umap.at("apple"); // 获取键"apple"对应的值,即1
```
如果键不存在,at函数会抛出一个std::out_of_range异常。因此,在使用at函数之前,最好先使用count函数判断键是否存在,如下所示:
```c++
if (umap.count("apple")) {
int value = umap.at("apple");
// ...
}
else {
// 键不存在
}
```
注意,at函数只能对非const的unordered_map使用,如果unordered_map是const的,则需要使用find函数来获取键对应的值。
unordered_map中find函数
unordered_map中的find函数是用来查找指定键值是否存在于unordered_map中的函数。其函数原型为:
```c++
iterator find(const key_type& key);
const_iterator find(const key_type& key) const;
```
其中,第一个函数返回一个迭代器,指向键值为key的元素;如果key不存在,则返回unordered_map::end()。第二个函数与第一个函数类似,只不过返回的是const_iterator类型的迭代器。
阅读全文