नहीं, यह संभव नहीं है। तुलनित्र मानचित्र के प्रकार का हिस्सा है। सवाल यह पूछने से अलग नहीं है कि क्या आप फ़्लोटिंग पॉइंट नंबरों को स्टोर करने के लिए int
बदल सकते हैं।
इससे भी महत्वपूर्ण बात, तुलनित्र द्वारा प्रदान आदेश नक्शे की आंतरिक संरचना का एक अभिन्न हिस्सा है। यदि आप ऑर्डरिंग बदलना चाहते थे, तो डेटा संरचना अब एक सतत स्थिति में नहीं होगी।,
std::map<T, V, Comp1> m1 = /* ... */;
std::map<T, V, Comp2> m2(m1.begin(), m1.end());
वैकल्पिक रूप से आप प्रकार std::map<std::reference_wrapper<T const>, std::reference_wrapper<V>, Comp2>
का एक दूसरा नक्शा बनाने और संदर्भ से पॉप्युलेट कर सकते हैं: केवल अनुकूल विकल्प नई व्यवस्था के संबंध में वर्ष नक्शे के तत्वों से एक नया नक्शा के पुनर्निर्माण के लिए है, लेकिन जो पहले से ही संभव है मूल मानचित्र पर, लेकिन Comp2
के अनुसार आदेश दिया गया। उस स्थिति में दो मानचित्रों को सिंक में बनाए रखने की आपकी ज़िम्मेदारी है। Boost.Multiindex जैसे एक उन्नत कंटेनर आपके लिए एक सुरक्षित फैशन में ऐसा कर सकते हैं।
स्रोत
2012-12-18 15:00:29
क्या आप यहां सीधे ऐसा करने के लिए एक फ़ंक्शन देखते हैं: http://en.cppreference.com/w/cpp/container/map? यदि नहीं, तो उत्तर नहीं है ... – Nim
यह एक टेम्पलेट पैरामीटर है, इसलिए इसे संकलन समय पर ठीक किया जाना है। इसे बदलना कंटेनर के प्रकार को बदल देगा। – v154c1