मेरे पास दो सी ++ प्रोग्राम हैं जिनके पास नक्शा type -> int
है जो संकलन समय और दो प्रोग्रामों के बीच बराबर है। इसके अलावा, मैं स्वचालित रूप से यह सुनिश्चित करना चाहता हूं कि मानचित्र संकलित समय पर नक्शा एक-एक हो। आप इसे कैसे हल करेंगे? (सी ++ 0x-एक्सटेंशन की अनुमति है)। पहला भाग आसान है:टाइप करने के लिए int मैपिंग
template < typename T > struct map;
template <> struct map <...> { enum { val = ...; }; };
प्रोग्राम के बीच साझा करें। (दूसरे भाग का अर्थ है कि मैं अपने कार्यक्रमों में कहीं भी दो अलग-अलग प्रकारों के लिए val
को गलती से परिभाषित नहीं करना चाहता हूं।)
क्या मैं पूछ सकता हूं कि यह मैपिंग क्या है? – sellibitze
[टेम्पलेट मेटाप्रोग्राम कनवर्टिंग प्रकार को अद्वितीय संख्या में संभावित डुप्लिकेट] (http://stackoverflow.com/questions/1708458/template-metaprogram-converting-type-to-unique-number) – kennytm
नक्शा मनमानी डेटा को संवाद करने के लिए उपयोग किया जाएगा एक प्रेषक और एक रिसीवर कार्यक्रम के बीच (यही कारण है कि यह सवाल कोई डुप्लिकेट नहीं है - इसमें दो प्रोग्राम शामिल हैं जिन्हें एक ही मानचित्र साझा करने की आवश्यकता है)। – Thomas