C++
[C++ STL] STL에 필요한 템플릿 예제
GrayT
2016. 12. 21. 20:52
STL에 필요한 템플릿 예제
for_each() 함수를 직접 구현해 보겠다.
int에 대한 For_each와 출력 함수
string에 대한 For_each와 출력 함수
template을 이용해 일반화를 시켜보자.
일반화를 시키면 어떠한 타입이 들어가도 OK!
(단, 함수 내에서 요구하는 인터페이스를 가지고 있어야 한다.)
(예를 들어 함수 내에서 +연산을 한다고 하면
매개 변수로 들어간 타입은 +연산 인터페이스가 제공되어야 한다.)
![]()
템플릿의 매개변수와 함수 객체를 결합하면
반환 타입과 함수 매개변수 타입을 클라이언트가
결정하는 아주 유연한 함수 객체를 만들 수 있다.
아래 예제를 보자.
![]()
STL에서 쌍을 표현할 때 항상 사용되는
pair 클래스를 템플릿으로 구현한 예제
pair 클래스는 두 객체를 하나의 객체로 취급할 수 있게
두 객체를 묶어준다. 대표적으로 map 컨테이너의 key, value