2011-12-20 6 views
5

के साथ वेक्टर का प्रकार निर्दिष्ट करें आप एक स्ट्रिंग के साथ एक प्रकार कैसे निर्दिष्ट करते हैं? मेरा मतलब है:एक स्ट्रिंग

string s = "int"; 
Vector<s> vec; 

और मैं vector<int> होने की vec चाहते हैं। क्या यह संभव है?

मैं एक कक्षा बनाना चाहता हूं जहां उपयोगकर्ता स्ट्रिंग में टाइप कर सकता है और उस प्रकार के वेक्टर बनाए जाएंगे।

+0

आपको किसी प्रकार का संस्करण डेटा प्रकार चाहिए। –

उत्तर

5

सी ++ में संभव नहीं है, कम से कम जिस तरह से आप चाहते हैं।

टेम्पलेट, एक संकलन समय अवधारणा है, जबकि उपयोगकर्ता इनपुट एक क्रम अवधारणा है। पूरी तरह से अलग, मिश्रण योग्य नहीं है।

यह काम करने के लिए, आपको गतिशील रूप से टाइप की गई भाषा की आवश्यकता है, जो सी ++ नहीं है। यह स्थिर रूप से टाइप किया गया है।

+0

ठीक है, लेकिन मैं ऐसा करना चाहता हूं क्योंकि मैं एक बहुआयामी वेक्टर, http://stackoverflow.com/questions/8579207/hypercube-c-multidimensional-vectros लागू करना चाहता हूं। कोई सुझाव? – shizzle

3

यह संभव है?

यह संभव नहीं C++ है। यदि बूस्ट का उपयोग करना एक विकल्प है, तो boost::variant ऑब्जेक्ट्स के वेक्टर बनाने पर विचार करें: इस प्रकार, आपके स्थैतिक रूप से टाइप किए गए vector विभिन्न प्रकार के तत्वों को स्वीकार करने के लिए तैयार किए जाएंगे।