73得票10回答
使用for循环迭代QMap

我有一个QMap对象,想把它的内容写入文件。QMap<QString, QString> extensions; //.. for(auto e : extensions) { fout << e.first << "," << e.se...

14得票2回答
QMap::contains()和QMap::find()的区别

我经常看到这样的代码:if(myQMap.contains("my key")){ myValue = myQMap["my key"]; } 理论上,该函数在QMap中进行了两次查找。 我的第一反应是将其替换为以下内容,该内容仅进行一次查找,速度应该快两倍:auto it = my...

13得票2回答
从QMap中删除所有值

我有一个QMap指向使用new分配的类对象的指针。 我需要删除所有这些指针。 用QMap正确的方式是什么? 我可以这样做:QList<ClassName*> allVals = map.values(); for (QList<ClassName*>::iterator...

11得票5回答
分配给嵌套的QVariantMap

#include <QtCore/QCoreApplication> #include <QVariant> #include <QtDebug> int main(int argc, char *argv[]) { QCoreApplicatio...

10得票3回答
QMap是否支持自定义比较函数?

我找不到一种为QMap设置自定义比较函数的方法,就像我可以为std::map设置的那样(其模板参数中的 typename _Compare = std::less<_Key> 部分)。 QMap有没有设置它的方法?

9得票1回答
如何深度复制QMap和其他Qt容器?

一般来说,深拷贝Qt容器的正确方式是什么?我不担心递归地深拷贝容器,尽管考虑到这一点会很有帮助。

7得票1回答
如何使用QDeclarative将QMap暴露给QML

我该如何将C++中的QMap暴露给QML? 使用QList,我可以使用QDeclarativeListProperty。

7得票2回答
QMap和QMultiMap中项目的顺序

我希望使用从QMap派生的QMultiMap来存储键/值对。由于我可以多次使用键,因此我更喜欢使用QMultiMap。 假设我按照给定的顺序插入以下键值对: "C" -> 5 "A" -> 10 "B" -> 77 "B" -> 1 "X" -> 314159...

7得票1回答
为什么QMap使用跳表而不是红黑树?

我想知道为什么QMap选择了跳表数据结构而不是红黑树?关于并发数据结构和跳表相对于红黑树的优缺点,有一个非常有趣的SO线程。这确实是一次非常有趣的对话,包含了有用的链接,但是QMap不是线程安全的,它没有默认的互斥锁来同步访问。需要使用包装器或子类化才能实现。 对我来说,编写“手工制作”的跳...