Templates: различия между версиями

Материал из fidoman.ru
(Новая страница: «Классические шаблоны C++ - при использовании происходит инстанциация, генерация кода в со...»)
 
(нет различий)

Текущая версия на 22:57, 16 января 2024

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

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

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