在 C++ 中,字典通常指的是 std::map
,它是一个关联容器,用于存储键-值对,并且按照键的顺序进行排序。除了 std::map
,C++ 标准库还提供了其他一些类似字典的容器,比如 std::unordered_map
(无序字典)和 std::multimap
(允许重复键的字典)。以下是关于 std::map
的一些介绍和常用操作:
#include <iostream>
#include <map>
#include <string>using namespace std;int main() {// 1. 创建一个字典map<std::string, int> myMap;// 2. 向字典中添加键值对myMap.insert(std::make_pair("apple", 5));myMap["banana"] = 3;myMap["strawberry"] = 8;myMap["orange"] = 7;// 3. 使用键来访问对应的值int value = myMap["apple"];// 4. 删除元素myMap.erase("banana");// 5. 使用 find() 函数来查找指定键的元素,返回一个迭代器。auto it = myMap.find("apple");if (it != myMap.end()) {cout << "Key: " << (*it).first << ", Value: " << (*it).second << endl;}else {cout << "no apple key" << endl;}// 6. 遍历字典并打印键和值cout << "Dictionary contents:" << endl;for (const auto& pair : myMap) {cout << "Key: " << pair.first << ", Value: " << pair.second << endl;}//7. 获取大小unsigned long size = myMap.size();// 8.清空字典:myMap.clear();//9.检查是否为空if (myMap.empty()) {cout << "myMap is empty!" << endl;}return 0;
}
参考:
https://en.cppreference.com/w/cpp/container/map