c++ - Copy map<double, tuple<double, double>> to map<double, double> without loop? -
मेरे पास फार्म का एक नक्शा है नक्शा & lt; डबल, टपले & lt; डबल, डबल & gt; & gt; एम 1
। क्या मैं इसे नक्शा और lt; डबल, डबल & gt; फ़ॉर्म के एक नक्शा में कॉपी कर सकता हूं। एम 2
जैसा कि चाबियाँ एक समान हैं, और एम 2 में मान प्राप्त करें & lt; 0 & gt; (एम 1- & gt; दूसरा)
बिना किसी लूप का उपयोग है? धन्यवाद!
क्या आपके लिए यह काम कुछ ऐसा होगा?
vector & lt ; जोड़ी और लेफ्टिनेंट; डबल, डबल & gt; & gt; वी (m1.size ()); ऑटो लैम्ब्डा = [] (जोड़ी और लेफ्टिनेंट; डबल, ट्यूपल और लेफ्टिनेंट; डबल, डबल & gt; & gt; पी) {वापसी बनाने_पएयर (पी। फास्ट, लेफ्ट लेफ्टिफिकेशन; 0 & gt; (पी.सेकंड)); }; रूपांतरण (एम 1.बीजिन (), एम 1.एंड (), वी.बीजिन (), लैम्ब्डा); नक्शा & lt; डबल, डबल & gt; एम 2 (v.begin (), v.end ());
ध्यान दें कि हमने वास्तव में एक पाश नहीं छोड़ा है; हमने सिर्फ std :: transform
हमारे लिए पाशन कर लिया है यदि अप्रत्यक्ष पाशन की अनुमति नहीं है, तो संभवतः आप क्या चाहते हैं एक ट्रांसफॉर्मिंग इटरेटर है
Comments
Post a Comment