c++ how to loop through a map code example

Example 1: how to iterate through a map in c++

//traditional way (long)
for(map<string,int>::iterator it=m.begin(); it!=m.end(); ++it)
	if(it->second)cout<<it->first<<" ";
//easy way(short) just works with c++11 or later versions
for(auto &x:m)
	if(x.second)cout<<x.first<<" ";
//condition is just an example of use

Example 2: through map c++

//Since c++17
for (auto& [key, value]: myMap) {
    cout << key << " has value " << value << endl;
}
//Since c++11
for (auto& kv : myMap) {
    cout << kv.first << " has value " << kv.second << endl;
}

Example 3: cpp map iterate over keys

#include <iostream>
#include <map>

int main()
{
    std::map<std::string, int> myMap;

    myMap["one"] = 1;
    myMap["two"] = 2;
    myMap["three"] = 3;

    for ( const auto &myPair : myMap ) {
        std::cout << myPair.first << "\n";
    }
}

Tags:

Cpp Example