01
일반 템플릿
모든 타입이 공유할 기본 의미를 정의합니다.
template<typename T>기본 구현이 먼저 있고, 특정 타입은 명시적 특수화가 덮어씁니다. 클래스 템플릿은 타입 패턴을 남겨 두는 부분 특수화까지 선택지에 포함됩니다.
모든 타입이 공유할 기본 의미를 정의합니다.
template<typename T>특정 타입 하나가 완전히 다른 구현을 갖습니다.
MyValue<bool>클래스 템플릿에서 포인터나 두 번째 타입 같은 패턴을 고정합니다.
Pair<T, int>컴파일러는 사용 가능한 후보 중 더 구체적인 정의를 선택합니다.
most specializedconst char*, bool처럼 의미가 달라질
때
T*, Pair<T, int>처럼 형태가
맞을 때
if constexpr를
검토합니다.