aşağıdaki düşünün eşlemek için bir liste kopyalama: Bir haritaya list_A tüm unsurları kopyalamak istediğiniz C++ std
struct A
{
int i;
double d;
std::string s;
};
std::list<A> list_A;
haritasında her çifti olarak list_A bir elemanın oluşacaktır şekilde değer ve dize
s
anahtar olarak. Bunu yapmanın bir yolu var mıdır, listeden geçmekten daha zarif ve her bir unsuru, haritanın anahtarı olarak dizgisiyle birlikte ekleyelim mi?
Benim için döngü, en iyi okunabilir ve en desteklenebilir çözümdür. –
['std :: transform'] ile bir şeyler yapabilirsiniz (http://en.cppreference.com/w/cpp/algorithm/transform). – juanchopanza
Standart "for" veya "ranged-based for" döngüsünü kullanabilirsiniz. Bunun yerine standart bir kütüphane algoritması kullanırsanız, aynı döngü gövdesini yazacak ve bir işlev nesnesine veya lambdaya algoritma geçireceksiniz. Şahsen, bu kadar basit bir şey için bir "menzile dayalı" döngüsünün "daha iyi" olduğunu düşünüyorum. – Blastfurnace