📜  std::map 获取所有键 - C++ (1)

📅  最后修改于: 2023-12-03 15:05:22.258000             🧑  作者: Mango

使用std::map获取所有键

在C++中,可以使用std::map容器存储键值对,在需要获取所有键时,可以通过循环遍历map并获取每个键来实现。

实现方法

下面是一个使用std::map获取所有键的示例代码:

#include <map>
#include <iostream>

int main()
{
    std::map<std::string, int> myMap = {{"foo", 1}, {"bar", 2}, {"baz", 3}};

    // 使用auto和迭代器遍历map中的所有键
    std::cout << "All keys: ";
    for (auto it = myMap.begin(); it != myMap.end(); ++it)
    {
        std::cout << it->first << " ";
    }
    std::cout << std::endl;

    return 0;
}

输出结果为:

All keys: bar baz foo

上述代码中使用了auto和迭代器遍历了map中的所有键,其中it->first获取的是该键值对的键。

也可以使用C++11中引入的范围for循环获取所有键,示例代码如下:

#include <map>
#include <iostream>

int main()
{
    std::map<std::string, int> myMap = {{"foo", 1}, {"bar", 2}, {"baz", 3}};

    // 使用范围for循环遍历map中的所有键
    std::cout << "All keys: ";
    for (const auto& kv : myMap)
    {
        std::cout << kv.first << " ";
    }
    std::cout << std::endl;

    return 0;
}

输出结果为:

All keys: bar baz foo
总结

使用std::map可以方便地存储键值对,利用auto和迭代器或范围for循环可以获取所有键,非常方便。