본문 바로가기
C++/C++ Common

STL

by doublerabbits 2022. 8. 6.

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 sample

 

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 sample

 

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 sample

 

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 sample

 

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