|
发表于 2023-7-30 10:19:11
|
显示全部楼层
当涉及到C++中的 map 函数,通常是指 std::map ,它是C++标准库中的一个关联容器,用于实现键-值对的映射。 std::map 内部会根据键的排序规则自动将键值对进行排序,这使得在查找特定键的值时具有较好的性能。
要使用 std::map ,您需要包含头文件 <map> 。以下是 std::map 的基本用法示例:
- #include <iostream>
- #include <map>
- int main() {
- std::map<std::string, int> scores; // 创建一个存储string键和int值的map
- // 插入键值对
- scores["Alice"] = 85;
- scores["Bob"] = 70;
- scores["Charlie"] = 92;
- // 访问键值对
- std::cout << "Alice的分数:" << scores["Alice"] << std::endl;
- // 检查键是否存在
- if (scores.find("David") != scores.end()) {
- std::cout << "David的分数:" << scores["David"] << std::endl;
- } else {
- std::cout << "David的分数不存在" << std::endl;
- }
- // 遍历map中的所有键值对
- for (const auto& pair : scores) {
- std::cout << pair.first << ": " << pair.second << std::endl;
- }
- return 0;
- }
复制代码
输出:
- Alice的分数:85
- David的分数不存在
- Alice: 85
- Bob: 70
- Charlie: 92
复制代码
在上面的示例中,我们创建了一个 std::map ,其键是 std::string 类型,值是 int 类型。然后,我们插入了三个键值对,并演示了如何访问和遍历 std::map 中的键值对。
请注意, std::map 对键进行排序,因此在遍历时会按照键的顺序输出键值对。如果您需要根据特定规则进行排序,可以使用自定义比较函数或者使用 std::unordered_map 来实现无序键值对存储。 |
|