unordered_map通过查询first来改变second
unordered_map是C++的一种关联容器,它是使用哈希表实现的,可以用于存储键值对。在unordered_map中,键是唯一的,而值可以重复。
要通过查询first来改变second,在unordered_map中可以通过迭代器来实现。首先,我们需要使用find()函数来查找具有特定键的元素,然后使用迭代器指向该元素,最后可以使用迭代器来修改该元素的值。
下面是一个示例代码:
#include <iostream>
#include <unordered_map>
int main() {
std::unordered_map<int, int> myMap = {{1, 10}, {2, 20}, {3, 30}};
// 查找键为2的元素
auto it = myMap.find(2);
if (it != myMap.end()) {
// 修改值为40
it->second = 40;
}
// 打印修改后的值
for (auto& pair : myMap) {
std::cout << pair.first << ": " << pair.second << std::endl;
}
return 0;
}
输出结果为:
1: 10
2: 40
3: 30
在上面的代码中,我们使用unordered_map存储了一些键值对。然后,我们使用find()函数查找键为2的元素,并使用迭代器指向该元素。接下来,我们通过迭代器来修改该元素的值为40。最后,我们遍历unordered_map,并打印出修改后的值。
需要注意的是,如果unordered_map中不存在具有特定键的元素,那么find()函数将返回unordered_map的end()迭代器,此时不能通过迭代器来修改元素的值
原文地址: https://www.cveoy.top/t/topic/ie7c 著作权归作者所有。请勿转载和采集!