【发布时间】:2025-11-25 01:25:01
【问题描述】:
我正在尝试将元素插入到 unordered_map 中的某个位置,覆盖该位置的当前对。我试过以下代码:
unordered_map<string, string>::iterator it = myMap.begin() + 256;
myMap.insert(it, newPair);
这不起作用,因为它会留下错误。有人可以帮忙吗?提前谢谢你。
【问题讨论】:
-
您不能覆盖地图中的
key。那会破坏那张地图。为什么需要这个? -
你了解哈希表的工作原理吗?也许在使用 unordered_map 之前先看看。
-
我正在实现 LZW 压缩算法,我使用 unordered_map 来保存 string-binary_code 对...
-
无序地图的一个有趣之处在于它们是无序的。也就是说,存储在其中的东西并不是以特定的、有保证的顺序存储的。因此,任何取决于事物在无序映射中的存储顺序的逻辑都可能是错误的。
-
几乎听起来像矢量会更合适。另请注意,
std::unordered_map使用前向迭代器,因此unordered_map<string, string>::iterator it = myMap.begin() + 256;将无法编译。
标签: c++ insert iterator unordered-map