ప్రధాన కంటెంట్‌కు వెళ్లండి
eLearner.app
మాడ్యూల్ 8 · 2లో పాఠం 1కోర్సులో 17/18~12 min
మాడ్యూల్ పాఠాలు (1/2)

ఫంక్షన్ టెంప్లేట్లు

Templates allow writing generic code in C++. Through templates, we can define functions or classes that operate on generic type parameters, letting the compiler generate the actual code for the specific types requested.

Defining a Function Template

To define a function template, we precede the function definition with the template keyword, followed by the list of type parameters enclosed in angle brackets <>. Commonly, typename or class is used to declare a generic type.

Code
// T is the generic type parameter
template <typename T>
T add(T a, T b) {
    return a + b;
}

Function Call and Template Argument Deduction

When we call the function, we can explicitly specify the type in angle brackets:

Code
int res1 = add<int>(5, 10);
double res2 = add<double>(3.14, 2.71);

However, the C++ compiler is usually able to deduce the type automatically from the passed input parameters (Template Argument Deduction):

Code
int res1 = add(5, 10); // The compiler deduces that T is int

Try it yourself

వ్యాయామం#cpp.m8.l1.e1
ప్రయత్నాలు: 0లోడ్ అవుతోంది...

Define a function template named myMax that takes two parameters of generic type T and returns the greater of the two.

ఎడిటర్ లోడ్ అవుతోంది…
సూచనను చూపించు

Start by writing `template <typename T>` followed by the signature `T myMax(T a, T b)`.

3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది

వ్యాయామం#cpp.m8.l1.e2
ప్రయత్నాలు: 0లోడ్ అవుతోంది...

Write a function template named printPair that takes two parameters of different generic types T1 and T2 and prints the two arguments separated by a space using std::cout.

ఎడిటర్ లోడ్ అవుతోంది…
సూచనను చూపించు

The template declaration must specify two parameters: `template <typename T1, typename T2>`.

3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది