STL(Standard Template Library)
템플릿을 사용하여 자료형에 관계없이 범용적인 프로그래밍을 가능하게 하는 라이브러리
STL 구성 요소 | |
Container | 기본 자료형 또는 사용자 정의 자료형을 담는 자료 구조 클래스 형태 컨테이너에 보관된 원소(element)에 대한 접근 함수 제공 |
Algorithm | 동일한 기능을 제공하는 함수 |
Iterator | Container 의 자료형에 관계 없이 Algorithm 이 동작하도록 하는 매개체 서로 다른 자료 구조를 동일한 방식으로 핸들링 할수 있도록 포인터를 추상화한 형태 컨테이너의 메모리 주소를 나타낸다. |
Container 종류
종류 | 자료형 | 특성 |
Sequential Container | array vector deque list forward_list |
입력 순서대로 저장 검색 속도 느림 |
Associative Container | set multiset map multimap |
데이터를 일정 규칙에 따라 정렬하여 저장 검색 속도 빠름 |
Adaptor Container | stack queue |
다른 컨테이너를 상속 받아 생성 |
vector
선언 vector vec1; 마지막 요소에 데이터 추가 vec1.push_back(10); vec1.push_back(20); 마지막 요소의 데이터 삭제 vec1.pop_back(); 특정 요소 삭제 (0 base 에서 4, 5 번 요소 삭제) vec1.erase(vec1.begin()..
doublerabbits.tistory.com
list
선언 list list1; 리스트 뒤에 데이터 추가 list1.push_back(44); list1.push_back(55); 리스트 앞에 데이터 추가 list1.push_front(33); list1.push_front(22); list1.push_front(11); 리스트 특정 위치에 데이터..
doublerabbits.tistory.com
map
map 은 Key 값을 기준으로 중복 데이터가 불가 선언 map map1; 데이터 추가 map1.insert({ "1st", 111 }); map1.insert({ "2nd", 222 }); map1.insert({ "3rd", 333 }); map1.insert({ "4th", 444 }); map1.insert..
doublerabbits.tistory.com
queue
선언 queue queue1; 마지막 요소에 데이터 추가 queue1.push(11); queue1.push(22); queue1.push(33); queue1.push(44); queue1.push(55); 첫번째 요소 데이터 조회 queue1.front() 첫번째 요소 데이터 추출 queue..
doublerabbits.tistory.com
'C++ > C++ Common' 카테고리의 다른 글
queue (0) | 2022.08.06 |
---|---|
map (0) | 2022.08.06 |
list (0) | 2022.08.06 |
vector (0) | 2022.08.06 |
Callback function (0) | 2022.07.18 |