Конфигурации шаблонных классов

Параметром шаблонного класса может быть пользовательский тип данных, который определяет локальные типы данных и константы. Рассмотрим конкретный пример:

struct config {
    enum { size = 10 } ;
    typedef char type;
};

template< typename Сonfig>
struct vector {
    Сonfig::type data[ Сonfig::size ];
};

vector<config> v;

Этот простейший пример показывает, что все параметры шаблонного класса могут быть свёрнуты в один. Тогда, для инстанциации шаблона необходимо определить структуру, покрывающую все зависимости шаблонного класса.

Last updated