21xrx.com
2024-05-20 10:49:36 Monday
登录
文章检索 我的文章 写文章
C++如何遍历Map的键和值?
2023-07-06 16:33:53 深夜i     --     --
C++ Map 遍历

C++是一种高效而有用的编程语言,Map是它的一个重要容器,在许多开发过程中都得到广泛运用。Map是一个关联数组,它将键和值映射到一起。如果您想遍历Map的所有键和值,下面是两种常见的方法:

1.使用迭代器

在C++中,Map的迭代器提供了一种遍历Map内容的非常简单的方式。您可以遍历整个Map,并访问其每个元素的键和值。以下是一个使用迭代器进行Map遍历的示例代码:


#include <iostream>

#include <map>

using namespace std;

int main() {

 map<string, int> myMap;  

 myMap["age"] = 24;

 myMap["name"] = "Bob";

 // Using iterator to traverse elements in a map

 map<string, int>::iterator itr;

 for (itr = myMap.begin(); itr != myMap.end(); itr++) Value: " << itr->second << endl;

 

 return 0;

}

上面的代码首先定义了一个 Map 对象 myMap,然后将一些键值对添加到 Map 中。使用迭代器 itr 来遍历整个 Map 并输出每个键和值的信息。

2.使用 C++11 auto 关键字

C ++ 11 引入了关键字auto,它有助于简化代码和降低编程难度。您可以使用auto关键字来使代码更具可读性。以下是一个使用 C++11 auto 关键字进行 Map 遍历的示例代码:


#include <iostream>

#include <map>

using namespace std;

int main() {

 map<string, int> myMap;  

 myMap["age"] = 24;

 myMap["name"] = "Bob";

 // Using foreach loop and auto keyword to traverse elements in a map

 for (auto& i : myMap)

  cout << "Key: " << i.first << "

 return 0;

}

上面代码中的`for (auto& i : myMap)`相比于第一种方法用迭代器遍历,更加简单明了。使用 C++11 auto 关键字,可以省去了定义迭代器和获取键值对的过程。自动变量i将遍历Map中的每个元素,并将其包含的键和值提取出来进行输出。

总结

以上就是在C++中遍历Map键值对的两种方法,其中第一种方法使用了迭代器,而第二种方法使用了C++11的auto关键字。这两种方法都非常简单,而且效率高,可以让您轻松地遍历Map中的所有键和值。如果您想了解更多有关Map的信息,请参考C++官方文档。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复