Template Metaprogramming
From ko.cppreference.net
템플릿 메타프로그래밍은 컴파일 시간에 새로운 타입을 생성하고 값을 계산하기 위한 기법들의 모음입니다. C++ 템플릿은 재귀적 인스턴스화의 횟수와 허용되는 상태 변수의 수에 제한이 없다면 튜링 완전합니다. Erwin Unruh는 컴파일러가 오류 메시지에서 소수를 출력하도록 지시함으로써 위원회 회의에서 템플릿 메타프로그래밍을 처음으로 시연했습니다. 표준은 구현이 최소 1024 수준의 재귀적 인스턴스화를 지원할 것을 권장하며, 템플릿 인스턴스화에서의 무한 재귀는 정의되지 않은 행동입니다.
|
이 섹션은 불완전합니다
이유: 기법들 (specializations, SFINAE, ADL, index sequences, folds, constexpr if 등) |
|
이 섹션은 불완전합니다
이유: 용어 (traits, typelists, metafunctions 등) |
|
이 섹션은 불완전합니다
이유: Libraries Boost.MPL / Boost.Mp11 / Metal / Kvasir.MPL / Boost.Hana / etc (암흑기 시절의 Loki도 포함될 수 있음) |
|
이 섹션은 불완전합니다
이유: 역사일 수 있음 |
외부 링크
| 1. | David Vandevoorde, Nicolai M. Josuttis, Douglas Gregor (2017), C++ Templates - The Complete Guide, 2nd Edition. |
| 2. | 위키책: Template Meta-Programming. |
| 3. | 위키백과: Template Meta-Programming. |