简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!
优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀
人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.
1.前言
本篇目的:C++之std::unordered_map<int, int, string>应用实例。
C++中的
std::unordered_map
是一个关联容器,用于存储键值对,其中键(key)和值(value)可以是任意类型。std::unordered_map
的作用是提供在常数时间复杂度内查找、插入和删除键值对的能力。
2.应用实例
v1.0
#include <iostream>
#include <unordered_map>
#include <string>
int main() {
// 创建一个unordered_map
std::unordered_map<int, std::string> myMap;
// 向unordered_map中插入键值对
myMap.insert({1, "apple"});
myMap.insert({2, "banana"});
myMap.insert({3, "orange"});
// 查找键为2的值
auto it = myMap.find(2);
if (it != myMap.end()) {
std::cout << "Key: " << it->first << ", Value: " << it->second << std::endl;
} else {
std::cout << "Key not found!" << std::endl;
}
// 遍历unordered_map
for (auto& pair : myMap) {
std::cout << "Key: " << pair.first << ", Value: " << pair.second << std::endl;
}
// 删除键为1的键值对
myMap.erase(1);
// 输出剩余的键值对
for (auto& pair : myMap) {
std::cout << "Key: " << pair.first << ", Value: " << pair.second << std::endl;
}
return 0;
}
v2.0
#include <iostream>
#include <unordered_map>
int main() {
std::unordered_map<int, int> map;
// 插入键值对
map[1] = 10;
map[2] = 20;
map[3] = 30;
// 访问键值对
std::cout << "Value at key 2: " << map[2] << std::endl;
// 修改键值对
map[2] = 50;
std::cout << "Modified value at key 2: " << map[2] << std::endl;
// 检查键是否存在
if (map.find(3) != map.end()) {
std::cout << "Key 3 found!" << std::endl;
}
// 删除键值对
map.erase(1);
// 遍历键值对
std::cout << "All key-value pairs: " << std::endl;
for (const auto& pair : map) {
std::cout << "Key: " << pair.first << ", Value: " << pair.second << std::endl;
}
return 0;
}