QT C++遍历map
时间: 2024-06-04 08:04:45 浏览: 24
在C++中,遍历map有多种方法,以下是其中的一种:
```c++
#include <iostream>
#include <map>
using namespace std;
int main() {
map<string, int> myMap = {{"apple", 1}, {"banana", 2}, {"orange", 3}};
// 使用迭代器遍历map
for (auto it = myMap.begin(); it != myMap.end(); ++it) {
cout << it->first << " => " << it->second << '\n';
}
return 0;
}
```
这段代码首先定义了一个名为myMap的map,其中存储了三个键值对。然后,使用迭代器遍历myMap,输出每个键值对的键和值。这里使用了auto关键字自动推导迭代器类型。
相关问题
写出qt c++ Qmap遍历删除
首先,可以使用QMap的迭代器完成遍历和删除操作,代码示例如下:
QMap<QString, int> map;
// 添加元素
map.insert("A", 1);
map.insert("B", 2);
map.insert("C", 3);
// 迭代器遍历和删除
QMap<QString, int>::iterator iter;
for (iter = map.begin(); iter != map.end(); ) {
if (iter.value() == 2) {
iter = map.erase(iter); // 删除值为2的元素
}
else {
iter++;
}
}
// 遍历输出
for (iter = map.begin(); iter != map.end(); iter++) {
qDebug() << iter.key() << iter.value();
}
在上面的代码中,我们创建了一个QMap对象并插入了三个元素。然后,我们使用迭代器遍历QMap并在值等于2时删除元素。最后,我们再次使用迭代器遍历QMap并在控制台输出结果。
C++ qt Map的几种写法
在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中的容器类类似,也可以使用迭代器进行遍历、查找等操作。
相关推荐
![epub](https://img-home.csdnimg.cn/images/20210720083646.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)