我有一个与理解python词典如何工作有关的问题。
我记得在某些地方读取python中的字符串是不可变的以允许散列,这也是为什么不能直接使用列表作为键的原因,即列表是可变的(通过支持.append),因此它们不能用作字典密钥。
我想知道C ++中unordered_map的实现如何处理这些情况。 (因为C ++中的字符串是可变的)
答案 0 :(得分:7)
所有C ++ map / set容器中的键都是const,因此是不可变的(在添加到容器之后)。
请注意,C ++容器不是特定于字符串键的,您可以使用任何对象,但是在将键复制到容器后,constness将阻止修改。