Шаблонное метапрограммирование
Шаблонное метапрограммирование — это семейство техник для создания новых типов и вычисления значений во время компиляции. Шаблоны C++ являются универсальными, если нет ограничений на количество рекурсивных инстанциаций и количество разрешённых переменных состояния. Эрвин Унрух первым продемонстрировал шаблонное метапрограммирование на встрече комитета, попросив компилятор вывести простые числа в сообщения об ошибках. Стандарт рекомендует поддержку компилятора по крайней мере 1024 уровней рекурсивной инстанциации, а бесконечная рекурсия в инстанциациях шаблонов является неопределённым поведением.
Внешние ссылки
| 1. | David Vandevoorde, Nicolai M. Josuttis, Douglas Gregor (2017), C++ Шаблоны — Полное руководство, 2-е издание. |
| 2. | Викиучебник: Шаблонное метапрограммирование. |
| 3. | Википедия: Шаблонное метапрограммирование. |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/language/template_metaprogramming