निम्नलिखित पर विचार करें:C++ एसटीडी एक सूची प्रतिलिपि बनाई जा रही मैप करने के लिए
struct A
{
int i;
double d;
std::string s;
};
std::list<A> list_A;
मैं एक नक्शा करने के लिए list_A के सभी तत्वों को कॉपी करना चाहते हैं ऐसी है कि नक्शे में हर जोड़ी के रूप में list_A से एक तत्व शामिल होंगे कुंजी और इसकी स्ट्रिंग s
कुंजी के रूप में। क्या ऐसा करने का कोई तरीका है जो सूची के माध्यम से लूपिंग से अधिक सुरुचिपूर्ण है और मानचित्र के लिए कुंजी के रूप में प्रत्येक स्ट्रिंग के साथ प्रत्येक तत्व डालें?
मेरे लिए लूपिंग सबसे अच्छा पठनीय और सबसे सहायक समाधान है। –
आप ['std :: transform'] (http://en.cppreference.com/w/cpp/algorithm/transform) के साथ कुछ कर सकते हैं। – juanchopanza
आप मानक 'के लिए' या 'लम्बाई के लिए' आधारित-मानक का उपयोग कर सकते हैं। यदि इसके बजाय आप एक मानक लाइब्रेरी एल्गोरिदम का उपयोग करते हैं तो आप उसी लूप बॉडी को लिखेंगे और एल्गोरिदम को पास करने के लिए इसे फ़ंक्शन ऑब्जेक्ट या लैम्ब्डा में पैकेजिंग करेंगे। निजी तौर पर, इस सरल के लिए मुझे लगता है कि 'लूप के लिए 'श्रेणी-आधारित" बेहतर "है। – Blastfurnace