C++ — это язык программирования общего назначения. Первоначально он был разработан как расширение C и имеет похожий синтаксис, но теперь это совершенно другой язык.
Тег templates используется в нескольких контекстах: универсальное программирование (особенно C++) и создание данных / документов с использованием механизмов шаблонов.
Мета-программирование шаблонов — это метод метапрограммирования, при котором шаблоны используются компилятором для генерации временного исходного кода, который объединяется компилятором с остальной частью исходного кода, а затем компилируется.