Beachten Sie Folgendes zur Karte:C++ std eine Liste kopieren
struct A
{
int i;
double d;
std::string s;
};
std::list<A> list_A;
Ich mag würde alle Elemente list_A auf eine Karte kopieren, so dass jedes Paar in der Karte eines Elements aus list_A bestehen wird als Wert und seine Zeichenfolge s
als Schlüssel. Gibt es eine elegantere Methode, als die Liste durchzulaufen und jedes Element zusammen mit seiner Zeichenfolge als Schlüssel in die Karte einzufügen?
Für mich ist das Looping die am besten lesbare und unterstützungsfähigste Lösung. –
Sie könnten etwas mit ['std :: transform'] (http://en.cppreference.com/w/cpp/algorithm/transform) tun. – juanchopanza
Sie können eine standardmäßige For- oder Entfernungs-basierte Schleife verwenden. Wenn Sie stattdessen einen Standardbibliotheksalgorithmus verwenden, schreiben Sie den gleichen Schleifenkörper und packen ihn in ein Funktionsobjekt oder Lambda, um ihn an den Algorithmus zu übergeben. Für etwas so einfaches halte ich eine 'range-based for'-Schleife für" besser ". – Blastfurnace