Hay formas de saber si la clave existe o no en el mapa:
Código C++:
Ver originalint main()
{
std::map<int,int> mapa;
mapa.insert(std::make_pair(1,11));
mapa.insert(std::make_pair(4,67));
mapa.insert(std::make_pair(9,18));
mapa[5] = 22;
for( auto i=0; i<10; i++ )
{
if( mapa.count(i) == 0 )
std::cout << "La clave " << i << " no existe en el mapa\n";
else
std::cout << "mapa[" << i << "] = " << mapa[i] << "\n";
}
}
Para evitar lanzar dos búsquedas por cada clave que existe en el mapa se pueden usar también iteradores:
Código C++:
Ver originalint main()
{
std::map<int,int> mapa;
mapa.insert(std::make_pair(1,11));
mapa.insert(std::make_pair(4,67));
mapa.insert(std::make_pair(9,18));
mapa[5] = 22;
for( auto i=0; i<10; i++ )
{
auto it = mapa.find(i);
if( it == mapa.end() )
std::cout << "La clave " << i << " no existe en el mapa\n";
else
std::cout << "mapa[" << i /* tambien se puede usar it->first */ << "] = " << it->second << "\n";
}
}