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()迭代器,此时不能通过迭代器来修改元素的值

unordered_map通过查询first来改变second

原文地址: https://www.cveoy.top/t/topic/ie7c 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录