在qt中使用unordered_map
时间: 2024-01-22 19:16:28 浏览: 145
在Qt中使用unordered_map可以通过包含头文件<unordered_map>来实现。unordered_map是一个无序的关联容器,它存储键值对,并且可以根据键快速查找值。下面是一个使用unordered_map的示例代码:
```cpp
#include <QApplication>
#include <unordered_map>
#include <iostream>
#include <QDebug>
int main(int argc, char *argv[]) {
QApplication a(argc, argv);
std::unordered_map<int, QString> map = {
{3, "fdd"},
{1, "fdd"},
{2, "fdd"}
};
for(auto k : map) {
qInfo() << k;
}
return 1;
}
```
在这个示例中,我们首先包含了<unordered_map>头文件,然后创建了一个unordered_map对象map,并使用{}语法进行初始化。然后,我们使用for循环遍历unordered_map中的所有键值对,并使用qInfo()函数打印出来。
注意:在使用unordered_map之前,确保已经包含了<unordered_map>头文件,并且使用了命名空间std。
相关问题
qt里遍历unordered_map
根据提供的引用内容,可以使用类似的方式在Qt中遍历unordered_map。以下是一个示例代码:
```cpp
#include <iostream>
#include <unordered_map>
#include <QString>
#include <QDebug>
int main() {
std::unordered_map<QString, int> myMap;
myMap.insert({"apple", 1});
myMap.insert({"banana", 2});
myMap.insert({"cherry", 3});
// 方式一
qDebug() << "方式一:";
for (auto it = myMap.begin(); it != myMap.end(); ++it) {
qDebug() << it->first << it->second;
}
// 方式二
qDebug() << "方式二:";
for (const auto& [key, value] : myMap) {
qDebug() << key << value;
}
return 0;
}
```
qt中如何使用unordered_map
在Qt中,可以使用C++11标准库中的unordered_map来实现哈希表。使用方法与普通的C++程序相同,需要包含头文件<unordered_map>,然后定义一个unordered_map对象即可。例如:
```c++
#include <unordered_map>
#include <QString>
std::unordered_map<QString, int> myMap;
myMap["apple"] = 1;
myMap["banana"] = 2;
int value = myMap["apple"]; // value = 1
```
需要注意的是,由于Qt中使用了QString代替了std::string,因此在定义unordered_map时需要指定QString为键类型。
阅读全文