C++ - Templates in Hindi




Template C++ की सबसे शक्तिशाली सुविधाओं में से एक हैं, templates को जेनेरिक फ़ंक्शंस या classes के रूप में भी जाना जाता है, जिनका उपयोग विभिन्न डेटा-प्रकारों के साथ एक ही बयान की कई संरचनाओं के लिए सामान्य संरचना को लागू करने के लिए किया जाता है।

एक keyword टेम्पलेट का उपयोग template के सिंटैक्स और angled ब्रैकेट में एक parameter (t) में किया जाता है जो डेटा प्रकार के variables को परिभाषित करता है और डेटा प्रकार को लौटाता है।

कई data types का समर्थन करते समय C++ में कोड के दोहराव को कम करने के लिए template का उपयोग किया जाता है पूर्णांक, फ्लोट और दोहरे डेटा प्रकारों पर चलने वाले फ़ंक्शन के साथ एक C++ फ़ंक्शन या C++ क्लास उन सभी कार्यों के साथ एक template फ़ंक्शन को integrate करता है जो तीनो डेटा प्रकारों का उपयोग करने के लिए पर्याप्त फ्लेक्सिबल है।

Type Of Temples

  • Function Templates

  • Class Templates

Function Templates

फ़ंक्शन template एक सामान्य फ़ंक्शन के समान कार्य करता है, एक single function टेम्पलेट एक ही बार में विभिन्न data types के साथ काम कर सकता है, लेकिन एक सामान्य फ़ंक्शन data types एक सेट के साथ ही काम कर सकता है।

Class Templates

आप फ़ंक्शन टेम्पलेट की तरह, एक सामान्य class के संचालन के लिए क्लास टेम्प्लेट भी बना सकते हो क्लास टेम्पलेट्स को generic टेम्पलेट्स भी कहा जाता है क्लास का उपयोग जैसे सामान्य तरीके से C++ program में किया जाता है वैसे ही क्लास टेम्पलेट में भी किया जाता है।

Example Code

#include <iostream>
using namespace std;
 
template <class Y>
Y Bigger(Y x1, Y x2)
{
  return (x1>x2) ? x1:x2;
}
 
int main()
{
    int a1, a2;
    float b1, b2;
    cout <<"Enter any two integers "; cin >> a1 >>a2;
    cout << Bigger(a1, a2) << " is bigger one" << endl;
    cout << " Enter any two floating-point numbers: "; cin >> b1 >> b2;
    cout << Bigger(b1, b2) << " is bigger one" << endl;
    return 0;
}

Example Result

Enter any two integers 5 6
6 is bigger one
Enter any two floating-point numbers: 11.8 9.5
11.8 is bigger one