suchen Jetzt habe ich eine Karte, die die command_map ist. Und ich habe eine Liste namens address_list. In der command_map ist jedes Paar Adresse und Befehl. In der Adressliste ist jeder Artikel eine Adresse.Ich möchte in der Karte mit dem Element in der Liste
Also was ich tun möchte, ist die Suche nach der Adresse in der address_list in der command_map gespeichert. Und wenn es gefunden wird, drucken Sie diesen Befehl und seine Adresse aus. Andernfalls drucken Sie einfach diesen Befehl aus.
Ich verwendete verschachtelte For-Schleife, um dies zu tun. Aber es funktioniert nicht.
for (list<string>::iterator it_address= address_list.begin(); it_address != address_list.end(); ++it_address)
{
for (map<string,string>::iterator it=command_map.begin(); it!=command_map.end(); ++it)
{
if (*it_address == it->first)
{
cout<<"Addr_"<<it->first<<":"<<endl;
cout<<" "<<it->second<<endl;
}
else
{
cout<<" "<<it->second<<endl;
}
}
}
Was !? Verwenden Sie [map find] (http://en.cppreference.com/w/cpp/container/map/find). –
Ich habe das versucht, aber ich bin mir nicht sicher, ob ich es richtig gemacht habe. Kannst du mir zeigen, wie man es macht oder irgendwelche Hinweise gibt? – Frank
Bud verwenden Sie einfach Google, um Beispiele für die Verwendung von 'map :: find' zu finden. –