'취미 생활' 카테고리의 다른 글
[선따기] 토니토니쵸파 (0) | 2017.12.30 |
---|
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의 알고리즘 함수들은 대부분 특정 컨테이너의 멤버함수가 아닌 일반 전역 함수로 작성되어있습니다.
-
0. 자료구조란? (0) | 2017.12.30 |
---|
출처 : http://hyeonstorage.tistory.com/256#recentComments [개발이 하고 싶어요]
STL에 들어가기 전에 자료구조라는 건 무엇인지 한번 살펴보겠습니다.
자료구조란?
자료(Data)란 현실 세계로부터 수집한 사실,개념의 값 또는 집합입니다.
흔히 가공되지않은 것을 부르며 자료를 가공된 것을 정보(Information) 이라고 부릅니다.
자료구조(Data Structure)란 자료의 집합을 의미합니다.
각 원소들 사이의 관계가 논리적으로 정의된 일정한 규칙에 의하여 나열되며 자료에 대한 처리를 효율적으로 수행할 수 있도록 자료를 조직적,체계적으로 구분하여 표현한 것을 말합니다.
자료 구조는 작업의 효율성,추상화,재사용성을 증가시키기 위하여 상황에 따른 적절한 자료구조를 선택하여 사용해야 합니다.
자료의 처리를 좀 더 효율적으로 하기 위해선
자료의 처리시간
자료의 크기
자료의 활용 빈도
자료의 갱신 정도
프로그램의 용이성
을 따져야 합니다.
자료 구조는 크게 선형구조와 비선형 구조로 나뉘어져 있습니다.
선형 구조 : 배열,연결리스트,스택,큐,데크
비선형 구조 : 트리,그래프
1. STL 이란? (0) | 2017.12.30 |
---|