1. 함수 템플릿
- 일반 함수의 템플릿 선언 형식
template <templateArgs>
returntype funcTemplateName(fParameterList){ ... }
2. 표준 템플릿 라이브러리
- C++ ㅓ에 제공되는 표준 컨테이너 클래스 템플릿 라이브러리
- 벡터, 리스트, 스택, 큐 등의 컨테이너와 이들을 처리하기 위해 사용할 수 있는 여러가지 연산 포함
- STL - 컨테이너
- 데이터 저장
- int, float 과 같은 기본 자료형 데이터나 사용자 정의 클래스의 객체 등 저장
- 다양한 연산이 제공되어 편리하게 데이터 저장 가능
- 컨테이너 종류 : 순차 컨테이너, 연상 컨테이너
<순차 컨테이너>
-동일한 자료형의 객체들을 선형적인 구조로 저장
<연상 컨테이너>
- 키를 이용한 검색 기능을 제공
<반복자(iterator)>
- 포인터의 개념이 일반화된 것
- 컨테이너의 유형에 따라 서로 다른 형태의 반복자가 사용됨
- 순방향 반복자, 양방향 반복자, 랜덤 액세스 반복자
<알고리즘>
- 컨테이너의 원소에 대해 적용할 수 있는 여러 가지 연산
- 컨테이너의 반복자가 인수로 전달되어 그 알고리즘이 어떤 객체 또는 범위에 대해 동작을 할 것인지를 지정함
3. vector 클래스 템플릿
- 배열의 개념을 구현한 클래스 템플릿
- 일반적인 배열의 기능을 포함하면서 여러 가지 유용한 멤버함수 및 관리기능 도입
- 헤더파일 <vector>를 #include 명령으로 프로그램에 삽입
- 객체의 선언구문 : vector<ClassName> objName(n);
- vector의 크기 : 배열과 같이 크기를 정하여 생성되나, 필요에 따라 크기를 확장할 수 있음
<알고리즘>
- 반복자를 사용하여 컨테이너의 원소에 대해 적용할 수 있는 연산을 제공
- #include 명령으로 헤더파일 < algorithm>을 소스 프로그램에 ㅅ바입 후 사용
'프로그래밍 > TIL(Today I Learned)' 카테고리의 다른 글
12강 표현언어 (0) | 2018.11.06 |
---|---|
15강 예외처리 (0) | 2018.11.06 |
13강 템플릿(1) (0) | 2018.10.29 |
12강 상속(3) (0) | 2018.10.25 |
상속(2) (0) | 2018.10.22 |