unordered_map中索引的使用
时间: 2023-10-28 11:00:19 浏览: 184
unordered_map是C++中的关联容器,它提供了一种使用键-值对存储和访问数据的方式。索引(index)在unordered_map中被称为键(key),可以用来快速查找和访问对应的值(value)。
使用unordered_map中的索引(键)进行查找和访问,可以使用以下几种方法:
1. 使用下标操作符[]:可以通过键直接访问对应的值。如果键不存在于unordered_map中,会自动插入一个新的键-值对到unordered_map中,并返回相应的值。
示例:
```cpp
std::unordered_map<std::string, int> myMap;
myMap["apple"] = 10; // 插入键"apple"和对应的值10
int count = myMap["apple"]; // 访问键"apple"对应的值,返回10
```
2. 使用成员函数at():类似于下标操作符[],可以通过键直接访问对应的值。不同的是,如果键不存在于unordered_map中,会抛出一个std::out_of_range异常。
示例:
```cpp
std::unordered_map<std::string, int> myMap;
myMap["apple"] = 10; // 插入键"apple"和对应的值10
int count = myMap.at("apple"); // 访问键"apple"对应的值,返回10
```
3. 使用成员函数find():返回一个迭代器,指向键所在位置的键-值对。如果键不存在于unordered_map中,则返回一个指向unordered_map末尾的迭代器(即unordered_map.end())。
示例:
```cpp
std::unordered_map<std::string, int> myMap;
myMap["apple"] = 10;
auto it = myMap.find("apple"); // 查找键"apple",返回指向对应键-值对的迭代器
if (it != myMap.end()) {
int count = it->second; // 访问迭代器指向的值,返回10
}
```
这些是unordered_map中常用的索引使用方法,可以根据具体的需求选择合适的方式进行操作。
阅读全文