मल्टीमैप में अनिवार्य रूप से कुंजी द्वारा क्रमबद्ध डेटा के समूह हैं। मुझे एक तरीका चाहिए जिसके द्वारा मैं इन व्यक्तिगत समूहों तक पहुंच सकता हूं और उनके कुल मूल्य प्राप्त कर सकता हूं। उदाहरण के लिए, एक std::multimap< string, int >
में मैंstl :: multimap - मैं डेटा के समूह कैसे प्राप्त करूं?
{"Group1", 1},
{"Group1", 2},
{"Group1", 3},
{"Group2", 10},
{"Group2", 11},
{"Group2", 12}
स्टोर इन मूल्यों को संग्रहीत करने के बाद, मैं इस मल्टीमैप पुनरावृति और प्रत्येक "समूह" का कुल मूल्यों को प्राप्त करने के लिए सक्षम होना चाहिए। समस्या यह है कि इस तरह से मल्टीमैप्स तक पहुंचने के लिए एसटीएल में परिभाषित कोई भी कार्य नहीं है। मैन्युअल रूप से मल्टीमैप को पुन: सक्रिय करने और समूह की सामग्री को कुल करने के लिए मैं lower_bound
, upper_bound
का उपयोग कर सकता हूं, लेकिन मुझे आशा है कि एसटीएल में पहले से परिभाषित बेहतर तरीके हो सकते हैं? क्या कोई इस बात का समाधान कर सकता है कि उपरोक्त उदाहरण में समूह के लिए मैं कुल मूल्य कैसे प्राप्त कर सकता हूं।
बहुत ही सुंदर और लैम्बडा विधि यहां वर्णित है: http://stackoverflow.com/a/37680747/5516759 –