Templates

Материал из fidoman.ru

Классические шаблоны C++ - при использовании происходит инстанциация, генерация кода в соответствии с переданным типов.

Лёгкие шаблоны

  • тип-аргумент используется только как указатель на него. Фактически от типа код не зависит от переданного типа, но позволяет гарантировать соответствие типа, передаваемого по указателю.
  • тип-аргумент является потомком указанного в шаблоне типа (фиксированного). Таким образом шаблон может использовать свойства базового типа, но при этом обеспечивать инвариантность получаемых и возвращаемых значений. (при отсутствии шаблона тип можно проверить только в рантайме)