C++ unordered_map 插入重复键:详解和示例
如果 unordered_map 中已经有元素 (1, 1),再插入 1 不会有任何效果。因为 unordered_map 中的键是唯一的,如果键已经存在,则插入操作不会改变 unordered_map 的大小或值。
例如,以下代码展示了这个行为:
#include <unordered_map>
#include <iostream>
int main() {
std::unordered_map<int, int> myMap;
myMap[1] = 1; // 插入元素 (1, 1)
myMap[1] = 2; // 再次插入键为 1 的元素
std::cout << "myMap 的大小: " << myMap.size() << std::endl; // 输出: myMap 的大小: 1
std::cout << "myMap[1]: " << myMap[1] << std::endl; // 输出: myMap[1]: 2
return 0;
}
在这个例子中,我们首先将元素 (1, 1) 插入到 myMap 中。然后,我们尝试再次插入键为 1 的元素,这次的值为 2。但是,由于键 1 已经存在,插入操作不会改变 myMap 的大小,并且 myMap[1] 的值仍然是 2。
因此,如果你需要在 unordered_map 中存储多个具有相同键的元素,可以使用其他数据结构,例如 vector 或 list,作为 unordered_map 的值。
原文地址: https://www.cveoy.top/t/topic/orC2 著作权归作者所有。请勿转载和采集!