简介: 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_mapstd::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_mapfor (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;
}