C++ qt Map的几种写法
时间: 2023-07-12 18:09:31 浏览: 110
在C++中,可以使用Qt提供的Map容器类来实现。以下是几种常见的写法:
1. QMap:
```
QMap<QString, int> map;
map.insert("apple", 1);
map.insert("banana", 2);
map.insert("orange", 3);
int value = map.value("apple"); // 1
```
2. QHash:
```
QHash<QString, int> hash;
hash.insert("apple", 1);
hash.insert("banana", 2);
hash.insert("orange", 3);
int value = hash.value("apple"); // 1
```
3. QMultiMap:
```
QMultiMap<QString, int> map;
map.insert("apple", 1);
map.insert("apple", 2);
map.insert("orange", 3);
QList<int> values = map.values("apple"); // [1, 2]
```
4. QMultiHash:
```
QMultiHash<QString, int> hash;
hash.insert("apple", 1);
hash.insert("apple", 2);
hash.insert("orange", 3);
QList<int> values = hash.values("apple"); // [1, 2]
```
5. QSharedPointer<QMap>:
```
QSharedPointer<QMap<QString, int>> map = QSharedPointer<QMap<QString, int>>::create();
map->insert("apple", 1);
map->insert("banana", 2);
map->insert("orange", 3);
int value = map->value("apple"); // 1
```
这些容器类的使用方式和STL中的容器类类似,也可以使用迭代器进行遍历、查找等操作。
阅读全文