C++
Templates
C++ templates is a way to make your
code generic, ie: you can call a function with any data type,
C++ uses this technique in its Abstract
Data types such as vectors and lists,
to create a list of integers :
list<int> intlist,
to create a list of strings:
list<string> stringlist.
How
to define functions using templates
Templates are implemented in C++ as
Macro expansions, as they are not resolved in run time but actually
in compile time,
consider the following function
definition :
template<classmyType>myType GetMax (myType a, myType b) {return(a>b?a:b);}and to call the function:
int x,y;
GetMax<int>(x,y);
here
template
<class
myType> is
a parameter to the compiler to change “mytype” any where in the
function with the word you define in the function call (here it is
“int”)
How
to define classes using Templates
template<classmyType>call MyClass{public: Myclass();}template<classmyType>
MyClass::Myclass<myType>(){}
Note: we must always notify the compiler that we are using templates
using template keyword template<class mytype>
No comments:
Post a Comment