📅  最后修改于: 2023-12-03 15:05:22.258000             🧑  作者: Mango
在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循环可以获取所有键,非常方便。