अगर मैं एक टेम्पलेट वर्ग है:एक सी ++ टेम्पलेट वर्ग में, क्या मैं उसी नाम का उपयोग कर टेम्पलेट पैरामीटर टाइप कर सकता हूं?
template<typename Layout>
class LayoutHandler : Handler {
};
और मैं कक्षा के उपयोगकर्ता के लिए पैरामीटर लेआउट को बेनकाब करना चाहते हैं। तब:
template<typename Layout>
class LayoutHandler : Handler {
public:
typedef Layout Layout; // using the same name
};
VS2012 इस कोड संकलन, और अपेक्षित परिणाम दे सकते हैं। (मैं इसे जांचने के लिए std :: is_same का उपयोग करता हूं।) क्या यह मानक C++ 03 या C++ 11 में अनुमत है?
मुझे लगता है कि चाहते हैं इसकी अनुमति है लेकिन हतोत्साहित होता है कि हालांकि (सिर्फ अच्छा लग रहा है नहीं है)। मैं एसएच पसंद करेंगे 'टाइपिफ़ लेआउट लेआउट टाइप' की तरह, केवल पठनीयता के लिए। –
व्यक्तिगत रूप से मैं एक चीज़ के लिए केवल एक ही नाम का उपयोग करना पसंद करता हूं। रचनाकारों में मैं कुछ भी लिखता हूं जैसे टी :: टी (इंट ए): ए (ए) {} – jingyu9575
उसी नाम से 'टाइपपीफ' का उद्देश्य क्या है? मैं इसे काफी नहीं मिला। –