Rozważmy następujący:C++ std Kopiowanie listę map
struct A
{
int i;
double d;
std::string s;
};
std::list<A> list_A;
Chciałbym skopiować wszystkie elementy list_A na mapie tak, że każda para na mapie składa się z elementu z list_A jako wartość i jej ciąg s
jako klucz. Czy istnieje sposób na to, że jest bardziej elegancki niż zapętlenie listy i wstawienie każdego elementu wraz z jego ciągiem jako kluczem do mapy?
Dla mnie pętla jest najlepiej czytelnym i najbardziej pomocnym rozwiązaniem. –
Możesz coś zrobić z ['std :: transform'] (http://en.cppreference.com/w/cpp/algorithm/transform). – juanchopanza
Możesz użyć standardowej pętli 'for' lub' ranged-based for'. Jeśli zamiast tego użyjesz standardowego algorytmu bibliotecznego, będziesz pisać ten sam korpus pętli i pakować go do obiektu funkcji lub lambda, aby przejść do algorytmu. Osobiście, dla czegoś tak prostego myślę, że pętla 'range-based for' jest" lepsza ". – Blastfurnace