在C++中,std::unordered_map 是一种存储键值对的数据结构,允许我们以常数平均时间复杂度来查找、插入和删除元素。
下面是一个例子,展示了如何查找特定的键,获取对应的值,以及如何遍历整个 std::unordered_map 容器。
假设一个简单的 Cpu 类,以及一个 std::unordered_map 容器 mCpus:
cpp
#include <iostream>
#include <unordered_map>
class Cpu {
public:
// 假设Cpu类有一些成员变量和方法
int cpus;
Cpu(int cpus) : cpus(cpus) {}
// 例如,一个获取投票数的方法
int getCpus() const {
return cpus;
}
};
int main() {
std::unordered_map<int, Cpu> mCpus;
// 向容器中添加元素
mCpus[1] = Cpu(10);
mCpu[2] = Cpu(20);
mCpu[3] = Cpu(30);
// 查找特定的键
int keyToFind = 2;
auto it = mCpus.find(keyToFind);
if (it != mCpus.end()) {
// 如果找到了键,则输出键和对应的值
std::cout << "Found key: " << it->first << ", value: " << it->second.getCp