चलें कहते हैं कि मैं एक सदस्य चर के साथ एक वर्ग है:इस अभिव्यक्ति को सरल बनाना संभव है?
std::unordered_map<KeyType, std::shared_ptr<ValueType>> myMap
और एक सदस्य समारोह मैं निम्नलिखित करना चाहते हैं में:
std::for_each(myMap.begin(), myMap.end(), [](std::pair<const KeyType, std::shared_ptr<ValueType>>& pair){pair.second->someMethod(); });
वहाँ वैसे भी लैम्ब्डा अभिव्यक्ति छोटा करने के लिए है? मैंने सोचा कि मैं ऐसा कर सकता है, लेकिन यह मान्य सिंटैक्स नहीं था:
std::for_each(myMap.begin(), myMap.end(), [](decltype(myMap::valueType)& pair){pair.second->someMethod(); });
'नेमस्पेस std का उपयोग करके;' इसे थोड़ा छोटा कर देगा। –
@ सोहोजुन अच्छा भगवान, ऐसा न करें :( – 111111
@ 111111: यह परिभाषा में एक छोटे से स्थानीय क्षेत्र में ठीक है, न कि वैश्विक स्तर पर या शीर्षलेख में। –