RAD Studio
ContentsIndex
PreviousUpNext
Template Arguments

Multiple arguments are allowed as part of the class template declaration. Template arguments can also represent values in addition to data types:

template<class T, int size = 64> class Buffer { ... };

Both non-type template arguments such as size and type arguments can have default values. The value supplied for a non-type template argument must be a constant expression:

const int N = 128;
int i = 256;
Buffer<int, 2*N> b1;// OK
Buffer<float, i> b2;// Error: i is not constant

Since each instantiation of a template class is indeed a class, it receives its own copy of static members. Similarly, template functions get their own copy of static local variables.

Copyright(C) 2008 CodeGear(TM). All Rights Reserved.
What do you think about this topic? Send feedback!