STL 이란?
STL( Standard Template Library ) 로 C++ 표준 라이브러리 입니다.
표준으로 정해져있으므로 매우 안전하며 개발시간을 단축하기 위해서 많이 사용합니다.
STL 을 알기 전에 자료구조가 무엇인지 알고 가는게 좋습니다.
STL은 C++의 Template 로 구현되어져 있습니다.
게임에서 주로 사용하는 STL 들은 list,vector,map 등이 있습니다.
STL의 구성요소에는 크게 컨테이너,할당기,반복자,어댑터,알고리즘,함수 객체로 이뤄져 있으며
컨테이너,알고리즘,반복자가 가장 중요한 요소입니다.
Containter (컨테이너)
- 객체를 저장하는 객체,자료구조 라고도 합니다.클래스 템플릿으로 구현되어 있습니다.
- 컨테이너는 크게 Sequence Container 와 Associative Container로 나뉩니다.
Sequence Container ( 연속된 컨테이너 ) : array ( c++ 11 ) , vector , list , deque
Associative Container ( 연관된 컨테이너 ) : set,multiset,map,multimap
Iterator (반복자)
- 컨테이너를 순회하는 방법과 컨테이너의 한 요소를 참조하는 방법을 획일화 함으로써 알고리즘들이 컨테이너 내부 구조에 대해 독립성을 가지도록 한 것입니다.
- 컨테이너 종류에 따라 접근 방식이 다릅니다.
- 컨테이너의 요소 하나를 가리키는 기본적인 열할
- 가리키는 지점의 요소를 읽고 쓸 수 있습니다.
- 증감에 의해 주변요소로 이동가능합니다(++.-- 연산자 오버로딩)
Algorism (알고리즘)
- STL의 알고리즘 함수들은 대부분 특정 컨테이너의 멤버함수가 아닌 일반 전역 함수로 작성되어있습니다.
-
'프로그래밍 > STL & 자료구조' 카테고리의 다른 글
0. 자료구조란? (0) | 2017.12.30 |
---|