컴파일 타임에 결정되는 템플릿은 일반 함수와는 용도가 다릅니다.
함수로 안돼서 특수 템플릿을 쓰는게 아니고, 템플릿을 일관되게 사용하기 위해 특수 템플릿을 쓴다고 봐야 하지 않을까요?
즉, 일반적으로는 템플릿을 쓰다가 특정 타입이나 특정 값에서는 일반 함수를 쓰는 것은 이상하기 때문에.
특수화를 이용하는 경우는,
1, 특정 타입에서 최적화를 이룰 수 있는 경우
2. 특정 타입에서 일반 템플릿으로는 연산을 할 수 없는 경우,
3. recursion 에서 종료 조건(팩토리얼 연산 시 0! 의 값 연산) 등입니다.
런타임에 결정되는
컴파일 타임에 결정되는 템플릿은 일반 함수와는 용도가 다릅니다.
함수로 안돼서 특수 템플릿을 쓰는게 아니고, 템플릿을 일관되게 사용하기 위해 특수 템플릿을 쓴다고 봐야 하지 않을까요?
즉, 일반적으로는 템플릿을 쓰다가 특정 타입이나 특정 값에서는 일반 함수를 쓰는 것은 이상하기 때문에.
특수화를 이용하는 경우는,
1, 특정 타입에서 최적화를 이룰 수 있는 경우
2. 특정 타입에서 일반 템플릿으로는 연산을 할 수 없는 경우,
3. recursion 에서 종료 조건(팩토리얼 연산 시 0! 의 값 연산) 등입니다.
클래스 템플릿의
클래스 템플릿의 경우는 템플릿 특수화를 사용하지만
함수 템플릿의 경우는 함수 오버로딩을 주로 사용하는 것으로 알고 있습니다.
댓글 달기