Полные примеры из лекции
https://github.com/zaychenko-sergei/oop-samples/tree/master/lec6
Выводы
В ходе данной
лекции был рассмотрен один из ключевых
способом повторного использования кода
в языке С++ - механизм шаблонов, стоящий
в основе парадигмы обобщенного
программирования. Использование шаблонов
функций и классов позволяет реализовывать
универсальные относительно рассматриваемого
набора типов данных обобщенные реализации
алгоритмов и структур данных. Программист
создает единую реализацию-шаблон, а
работу по подстановке конкретных типов
и генерации результирующего машинного
кода (инстанцирование шаблона) берет
на себя компилятор. Шаблоны являются
нетривиальным семейством конструкций
языка С++, требуя от программиста
пристального внимания к деталям - к
синтаксису, семантике конструкций и
схеме компоновки. В то же время, шаблоны
- это богатейшее незаменимое средство
языка для обеспечения повторного
использования кода. Понятие обобщенных
концепций, в частности, итераторов,
позволяет строить универсальные
алгоритмы, которые можно применить к
любым структурам данных без малейших
изменений.