QMap<QString,QVector<T>>泛型模板的声明创建以及使用
时间: 2023-11-09 08:05:32 浏览: 73
QMap<QString, QVector<T>> 是一个键值对容器,其中键是 QString 类型,值是 QVector 类型,其中 T 是 QVector 中存储元素的类型。可以按照以下方式声明、创建和使用:
```c++
#include <QMap>
#include <QVector>
QMap<QString, QVector<int>> myMap; // 声明一个键为 QString 类型,值为 QVector<int> 类型的 QMap
// 创建一个键为 "key1",值为 QVector<int> {1, 2, 3} 的键值对,并将其插入到 myMap 中
myMap.insert("key1", QVector<int>{1, 2, 3});
// 创建一个键为 "key2",值为 QVector<int> {4, 5, 6} 的键值对,并将其插入到 myMap 中
myMap.insert("key2", QVector<int>{4, 5, 6});
// 使用迭代器遍历 myMap 中的所有键值对
for (auto it = myMap.begin(); it != myMap.end(); ++it) {
QString key = it.key(); // 获取当前键
QVector<int> value = it.value(); // 获取当前值
// 输出当前键值对
qDebug() << "Key: " << key << ", Value: " << value;
}
```
上述代码中,我们声明了一个键为 QString 类型,值为 QVector<int> 类型的 QMap 对象 myMap,并通过 insert 函数向其中插入了两个键值对。最后,我们使用迭代器遍历 myMap 中的所有键值对,并输出它们的键和值。
阅读全文