मान लीजिए मैं:गैर-टेम्पलेट वर्ग के अंदर टेम्पलेट फ़ंक्शन का मेमोरी मॉडल?
template <typename T>
class A
{
//Do something with T
};
मुझे पता है कि संकलक प्रत्येक अलग T
कोड में परिभाषित के लिए एक class A<T>
उत्पन्न होगा।
क्या होगा यदि मैं है:
class B
{
template <typename T>
void f() { /* Do something with T */ }
};
class B
का केवल एक ही परिभाषा लेकिन प्रत्येक अलग T
इसके साथ कहा जाता है के लिए f()
के कई भार के वहाँ होगा?
हां। यह और क्या हो सकता है? –
ओम असेंबली स्तर में कोई कक्षा परिभाषा नहीं है। हर वर्ग विधि को छुपा "यह" पैरामीटर के साथ वैश्विक फ़ंक्शन में संकलित किया जाता है। टेम्पलेटेड फ़ंक्शन प्रत्येक संकलन इकाई में, प्रत्येक तत्काल प्रकार के लिए वैश्विक फ़ंक्शन में संकलित किया जाता है। –
संभावित डुप्लिकेट? [टेम्पलेट सदस्य समारोह के साथ कक्षा, एक ही कक्षा है?] (Http://stackoverflow.com/questions/11121910/class-with-templated-member- कार्यक्षमता-is-the-same-class) –