Iterate through map in C++

Iterate through map in C++

There are multiple ways to iterate through map in C++. Here we will discuss five methods that can be used to to iterate through map in C++.

Using range-based for loop to to iterate through map in C++

This method is the first and the common choice for iterating over map elements. This method is supported in C++11 version and if your compiler supports it, then it is one
of the easiest ways to iterate.

Note: We use ‘auto’ type specifier as it is recommended for readability and we don’t have to mention the data types of key-value pairs every time.

Code:

Output:

{1,Java}
{2,Python}
{3,C++}
{4,Javascript}

Using range-based for loop to iterate through key-value pairs of map

in C++
This method was defined in the C++17 version for better flexibility for iteration in the containers. The main benefit of using this method is the easy access of key-value pairs in the map structure. It helps in ensuring better readability as well.
Code:

Output:

{1, Java}
{2, Python}
{3, C++}
{4, Javascript}

Using for_each and lambda function to iterate through map in C++

In this method, we use the standard template library algorithm for_each to iterate through the map in C++. This loop will iterate on each element of the map and will call the callback provided. We can use a lambda function as callback here. The lambda function will get each element in a pair.
Code:

Output:

{1, Java}
{2, Python}
{3, C++}
{4, Javascript}

Using simple ‘for loop’ using begin() and end() methods to iterate through map in C++

We can iterate through map by using the traditional for loop. We will use begin() and end() method to point at the beginning and ending positions respectively. This method will come at last position when it comes to readability.
Code:

Output:

{1, Java}
{2, Python}
{3, C++}
{4, Javascript}

Using standard template library iterator and while loop to iterate through map in C++

We declare a header ‘’ to create an iterator of the map and then it will be initialized to the start position of the map. Then we can iterate over a map by incrementing the value of the iterator until it reaches the last position of the map.

Note: Map stores elements in a pair format, so each iterator points to the address of the pair.

Code:

Output:

{1, Java}
{2, Python}
{3, C++}
{4, Javascript}

Conclusion

In this article, we discussed five different ways to to iterate through map in C++. Some methods are supported by the latest versions of C++ only.
Happy Learning!

Was this post helpful?

Leave a Reply

Your email address will not be published. Required fields are marked *