Конфигурации шаблонных классов
Параметром шаблонного класса может быть пользовательский тип данных, который определяет локальные типы данных и константы. Рассмотрим конкретный пример:
struct config {
enum { size = 10 } ;
typedef char type;
};
template< typename Сonfig>
struct vector {
Сonfig::type data[ Сonfig::size ];
};
vector<config> v;
Этот простейший пример показывает, что все параметры шаблонного класса могут быть свёрнуты в один. Тогда, для инстанциации шаблона необходимо определить структуру, покрывающую все зависимости шаблонного класса.
Last updated