5 "A" -> 10 -6ren">
gpt4 book ai didi

qt - QMap 和 QMultiMap 中的项目顺序

转载 作者:行者123 更新时间:2023-12-03 02:12:23 31 4
gpt4 key购买 nike

我想使用QMultiMap(派生自QMap)来存储键/值对。由于我可以多次拥有 key ,因此我更喜欢使用 QMultiMap

假设我会按给定顺序插入以下对:

"C" -> 5
"A" -> 10
"B" -> 77
"B" -> 1
"X" -> 314159

当迭代 map 时(最好使用java风格的迭代器),我需要保留等键对的顺序。 IE。迭代时,"B"-> 77"B"-> 1 应完全按照插入顺序出现。不同键之间的顺序并不重要。

不幸的是,文档没有透露有关该细节的信息。它说

With QMap, the items are always sorted by key

但它没有说明是否/如何对相等的键进行排序。

QMap 是否保留具有相等键的对的插入顺序,或者是否可以以某种方式保留?

最佳答案

来自有关 QMap::iterator 的 Qt 文档:

Unlike QHash, which stores its items in an arbitrary order, QMap stores its items ordered by key. Items that share the same key (because they were inserted using QMap::insertMulti(), or due to a unite()) will appear consecutively, from the most recently to the least recently inserted value.

因此,QMap 似乎保留了具有相同键的对的相反插入顺序。

关于qt - QMap 和 QMultiMap 中的项目顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27087564/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com