Iterate keys in a C++ map Ask Question

Iterate keys in a C++ map Ask Question

Is there a way to iterate over the keys, not the pairs of a C++ map?

ベストアンサー1

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.

おすすめ記事