首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

创建STL映射键迭代器

创建STL映射键迭代器:

STL(Standard Template Library,标准模板库)是C++的一个重要组成部分,它提供了一系列的容器和算法,可以帮助我们更高效地进行编程。在STL中,映射(map)是一种关联容器,它将一个键(key)与一个值(value)进行映射,并且按照键的顺序进行排序。

要创建一个STL映射键迭代器,我们可以使用map的iterator成员类型。以下是一个简单的示例:

代码语言:cpp
复制
#include<iostream>
#include <map>

int main() {
    std::map<int, std::string> my_map;
    my_map[1] = "one";
    my_map[2] = "two";
    my_map[3] = "three";

    // 创建一个键迭代器
    std::map<int, std::string>::iterator key_iter = my_map.begin();

    // 遍历映射中的所有键
    while (key_iter != my_map.end()) {
        std::cout<< key_iter->first<< std::endl;
        ++key_iter;
    }

    return 0;
}

在这个示例中,我们首先创建了一个映射my_map,并向其中添加了一些键值对。然后,我们使用my_map.begin()创建了一个键迭代器,并使用while循环遍历了映射中的所有键。

需要注意的是,在C++11中,我们可以使用范围for循环来更简洁地遍历映射中的所有键,如下所示:

代码语言:cpp
复制
#include<iostream>
#include <map>

int main() {
    std::map<int, std::string> my_map;
    my_map[1] = "one";
    my_map[2] = "two";
    my_map[3] = "three";

    // 使用范围for循环遍历映射中的所有键
    for (const auto& key_value_pair : my_map) {
        std::cout<< key_value_pair.first<< std::endl;
    }

    return 0;
}

在这个示例中,我们使用范围for循环遍历了映射中的所有键值对,并输出了每个键值对的键。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

C++ STL之map容器用法详解 (包含pair,make_pair等等)

map 容器是关联容器的一种。在关联容器中,对象的位置取决于和它关联的键的值。键可以是基本类型,也可以是类类型。字符串经常被用来作为键,如果想要保存姓名和地址的记录,就可以这么使用。名称通常可能是一个或多个字符串。关联容器中的对象位置的确定取决于容器中的键的类型,而且对于特定容器类型的内部组织方式,不同的 STL 有不同的实现。 map<K,T> 类模板定义在 map 文件头中,它定义了一个保存 T 类型对象的 map,每个 T 类型的对象都有一个关联的 K 类型的键。容器内对象的位置是通过比较键决定的。可以用适当的键值从 map 容器中检索对象。图 1 展示了一个用名称作为键的 map<K,T> 容器,对象是整数值,用来表示年龄。

01
领券