Wednesday 15 August 2012

c++ - How to convert template classes? -


मेरे पास निम्न उदाहरण है:

  struct wrapper {virtual ~ wrapper () {} टेम्पलेट & Lt; typename यू & gt; WrapperT & lt; u & gt; * क्लोन () {नया रैपरटी & lt; U & gt; (मान); // काम नहीं करेगा, क्योंकि मूल्य ज्ञात नहीं है}}; टेम्पलेट & lt; typename T & gt; संरचना रैपर: रैपर {स्पष्ट रैपर (टी वी) {मान = वी; } टी मूल्य; };   

और मुझे ऐसा कुछ चाहिए:

  आवरण * t = new wrappert & lt; int & gt; (1); WrapperT & LT; डबल & gt; * टी 2 = टी- & gt; क्लोन & lt; डबल & gt; ();   

मुझे पता है कि आभासी टेम्पलेट उपलब्ध नहीं हैं किसी भी विचार?

एक संभावित दृष्टिकोण एक आगंतुक पैटर्न को परिभाषित कर रहा है, लेकिन आगंतुक को लागू करने की लागत हो सकती है बड़ी अगर आप कई अलग-अलग लिपटे प्रकारों का समर्थन करना चाहते हैं (यानी यह केवल एक छोटा सा सबसेट नहीं है)।

एक अन्य समस्या आपको मिल जाएगी कि रूपांतरण (गतिशील रूप से प्रेषित होना) होगा, इसलिए वे रनटाइम पर असफल हो सकता है और आपको उस का पता लगाने के लिए तंत्र प्रदान करना होगा और उस पर कार्य करना होगा (अपवाद दिये जाने पर)। भयानक कुछ भी नहीं ...

No comments:

Post a Comment