सी में, एक टेम्पलेट फ़ंक्शन को कोड का पुन: उपयोग प्राप्त करने के लिए टेम्पलेट तर्क के रूप में कैसे उपयोग किया जा सकता है सामान्य कार्यक्षमता को बनाए रखना, विशेष रूप से जब शामिल कार्य स्वयं भी टेम्पलेट हैं? प्राथमिक अवधारणा यह है कि पूर्व तात्कालिकता की आवश्यकता के कारण टेम्प्लेट पैरामीटर सीधे टेम्प्लेट टेम्प्लेट फ़ंक्शंस को शामिल नहीं कर सकते हैं। वर्कअराउंड में टेम्पलेट फ़ंक्शन को इनकैप्सुलेट करने के लिए डमी संरचनाओं का उपयोग करना शामिल है:
टेम्पलेट
संरचना ए {
स्थिर शून्य foo(T = T()) {}
};
टेम्प्लेट
संरचना बी {
स्थिर शून्य foo(T = T()) {}
};
स्ट्रक्चर समओबज {};
संरचना कुछ अन्यऑब्जेक्ट {};
टेम्प्लेट क्लास टी>
शून्य फ़ंक्शन() {
T
template
struct a {
static void foo(T = T()) {}
};
template
struct b {
static void foo(T = T()) {}
};
struct SomeObj {};
struct SomeOtherObj {};
template class T>
void function() {
T::foo();
T::foo();
}
int main() {
function();
function();
}
कोड पुन: प्रयोज्य:
यह दृष्टिकोण एक ही टेम्पलेट में समान कार्यक्षमता को समेकित करके कोड डुप्लिकेशन से बचा जाता है। &&&]अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3