Python字典与C++中的tr1::unordered_map的区别
我有一个关于理解Python字典工作原理的问题。
我记得我在某个地方看到过,Python中的字符串是不可变的,这样可以进行哈希。而这也是为什么不能直接使用列表作为字典的键,因为列表是可变的(可以用.append方法添加元素),所以它们不能用作字典的键。
我想知道C++中的unordered_map是如何处理这些情况的。(因为C++中的字符串是可变的)
1 个回答
8
在所有的C++地图/集合容器中,键是常量的,也就是说一旦放进容器就不能再改变了。
要注意,C++的容器并不只适用于字符串作为键,你可以使用任何对象作为键,但一旦这个键被复制到容器里,它就不能被修改了。