|
|
Две конструкции шаблонное-имя-класса обозначают один и тот же класс, если в них совпадают имена шаблонов типа и значения указанных параметров. Например, в следующих описаниях x и y одного типа, который отличен от типа z:
template<class E, int size> class buffer; buffer<char, 2*512> x; buffer<char,1024> y; buffer<char,512> z;
Ниже приведены описания, в которых одинаковый тип имеют x2 и x3. Он отличается от типов x1 и x4:
template<class T, void(*err_fct)()> class list { /* ... */ }; list<int,&error_handler1> x1; list<int,&error_handler2> x2; list<int,&error_handler2> x3; list<char,&error_handler2> x4;
| |