프로그래밍/TIL(Today I Learned)

14강 템플릿(2)

가라멜 2018. 11. 6. 15:10
반응형

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