[C++11] Variadic templates
`...` 구문은 가변 인자를 받을 수 있게 된다. 가변 템플릿은 템플릿의 매개 변수로 여러 개의 인자를 받을 수 있도록 하는 기능이다. 이는 함수나 클래스 템플릿을 정의할 때, 인자의 개수가 동적으로 변할 수 있을 때 유용하게 사용된다. 이때, 인자의 갯수는 0개 이상을 받을 수 있다. 이렇게 최소 한개 이상의 가변 인자를 받는 템플릿을 "가변 템플릿"이라고 한다. #include template struct Arity { constexpr static int value = sizeof...(T); }; int main(void) { static_assert(Arity::value == 0, ""); // OK static_assert(Arity::value == 3, ""); // OK return ..
C++/Modern C++(11, 14, 17, 20)
2023. 8. 28. 14:57