Iterate keys in a C++ map

map is associative container. Hence, iterator is a pair of key,val. IF you need only keys, you can ignore the value part from the pair.

for(std::map<Key,Val>::iterator iter = myMap.begin(); iter != myMap.end(); ++iter)
{
Key k =  iter->first;
//ignore value
//Value v = iter->second;
}

EDIT::
In case you want to expose only the keys to outside then you can convert the map to vector or keys and expose.

Leave a Comment