На этом шаге мы рассмотрим возможность передачи по умолчанию параметров шаблонов.
Шаблоны классов могут иметь параметры по умолчанию. Например, следующий фрагмент разрешает объявлять объекты класса MyClass как с одним, так и с двумя аргументами:
template <class Т, class container = vector<T> > class MyClass;
При передаче одного аргумента вместо второго используется параметр по умолчанию:
MyClass<int> x1; // Эквивалентно MyClass<int.vector<int> >
Аргументы шаблонов по умолчанию могут определяться на основе предыдущих аргументов.
На следующем шаге мы рассмотрим использование ключевого слова typename.