Python字典与C++中的tr1::unordered_map的区别

9 投票
1 回答
1983 浏览
提问于 2025-04-15 19:50

我有一个关于理解Python字典工作原理的问题。

我记得我在某个地方看到过,Python中的字符串是不可变的,这样可以进行哈希。而这也是为什么不能直接使用列表作为字典的键,因为列表是可变的(可以用.append方法添加元素),所以它们不能用作字典的键。

我想知道C++中的unordered_map是如何处理这些情况的。(因为C++中的字符串是可变的)

1 个回答

8

在所有的C++地图/集合容器中,键是常量的,也就是说一旦放进容器就不能再改变了。

要注意,C++的容器并不只适用于字符串作为键,你可以使用任何对象作为键,但一旦这个键被复制到容器里,它就不能被修改了。

撰写回答