मैं एक नक्शा चाहता हूं जिसमें एक समरूप कुंजी प्रकार है लेकिन विषम डेटा प्रकार हैं।आप एक विषम बढ़ावा कैसे बनाते हैं :: मानचित्र?
मैं (छद्म कोड) की तरह कुछ करने के लिए सक्षम होना चाहते हैं:
boost::map<std::string, magic_goes_here> m;
m.add<int>("a", 2);
m.add<std::string>("b", "black sheep");
int i = m.get<int>("a");
int j = m.get<int>("b"); // error!
मैं डेटा प्रकार के रूप में एक आधार वर्ग के लिए सूचक हो सकता था बल्कि नहीं होगा।
मैंने पहले कभी भी बढ़ावा नहीं दिया है लेकिन फ़्यूज़न लाइब्रेरी को देखा है लेकिन मुझे यह पता नहीं लगा सकता कि मुझे क्या करना है।
आपकी मदद के लिए धन्यवाद।
'boost :: variant' –
यदि आप मानचित्र में सामान भरना चाहते हैं तो सभी संभावित प्रकारों को जानते हैं तो 'boost :: variant' बहुत अच्छा काम करेगा। यदि आप सचमुच किसी प्रकार का चाहते हैं, तो 'बूस्ट :: कोई भी' जाने का तरीका है। – Kurt