मैं एक टेम्पलेट क्लास को कैसे परिभाषित कर सकता हूं जो इनपुट टेम्पलेट तर्क के रूप में प्रदान किए गए एक (सूचक) प्रकार की "गहराई" का प्रतिनिधित्व करने वाला पूर्णांक निरंतर प्रदान करता है? उदाहरण के लिए, यदि वर्ग Depth
बुलाया गया था, निम्नलिखित सच होगा:मैं एक टेम्पलेट क्लास को कैसे परिभाषित कर सकता हूं जो पॉइंटर गहराई/एक प्रकार का स्तर देता है?
Depth<int ***>::value == 3
Depth<int>::value == 0
धन्यवाद जेम्स, और अंतिम वाक्य भी बहुत उपयोगी है। – user2023370
एक चाल हमेशा 'टी कॉन्स्ट वोल्टाइल' को अगले रिकर्सन तक पास करने के लिए होती है, और उसके बाद केवल '<टी * कॉन्स अस्थिर>' के खिलाफ मिलती है। यह कुछ हद तक हैक है, लेकिन यह विशेष कॉन्स/अस्थिर संस्करण लिखने से बचने के लिए काम करेगा। –
@ जोहान्स: नाइस; जो '' की आवश्यकता से छुटकारा पाता है। मुझे नहीं लगता कि यह विशेष रूप से हैकिश है; कम से कम, अन्य प्रकार के लक्षणों की तुलना में एक हैक का कोई और नहीं :-) –