템플릿 2

C++ STL

STL (Standard Template Library)C++가 제공하는 템플릿 기반 표준 라이브러리 입니다.STL 라이브러리는 크게 STL 컨테이너와 STL 알고리즘으로 구성되어 있습니다. - STL 컨테이너 : 클래스 템플릿으로 정의되는 일종의 컬렉션 클래스.  * 컬렉션 : 같은 종류의 데이터 모임, 즉, 같은 데이터형의 데이터를 저장하고 읽어오기 위한 자료구조 클래스를 컬렉션 클래스라고 합니다. - STL 알고리즘 : 함수 템플릿으로 정의되는 유용한 알고리즘.  * 자주 사용하는 유용한 알고리즘들을 함수 템플릿으로 정의해 둔 것입니다. STL은 성능이 우수하고 안전성이 검증된 라이브러리이기 때문에 프로그래머는 필요한 기능을 매번 구현하는 대신 라이브러리를 믿고 사용할 수 있기 때문에 개발 기간도 ..

C++ 템플릿

템플릿 (Template)C++의 템플릿을 이용하면 함수나 클래스를 정의할 때 특정 데이터형을 사용하는 대신 범용형을 사용할 수 있습니다. - 정의된 함수 템플릿이나 클래스 템플릿은 여러가지 데이터형에 대해 함수 정의나 클래스 정의를 생성할 수 있습니다. 프로그램을 개발하다보면 같은 기능을 여러가지 데이터형에 대해서 구현해야 할 때가 있습니다. - 예 : Stack 클래스라면 정수 값을 넣을 수 있는 Stack을 구현했다고 가정했을 때, 실수형을 비롯한 다른 값을 넣을 수 없습니다. 따라서 각각 다른 형태의 Stack 클래스를 만들어야하는 불편함과 비효율이 있습니다. 바로 이런 경우에 해결책이 될 수 있는 것이 템플릿입니다. - 처리 알고리즘은 같고, 처리할 값의 데이터형이 다양할 때 템플릿을 이용하는 ..