C++ STL

    1. vector 컨테이너

    1. vector 컨테이너

    vector 컨테이너는 대표적인 시퀀스 컨테이너로 배열과 비슷하여 사용이 쉬우므로 자주 사용된다 vector의 주요 인터페이스와 특징 vector의 주요 기능 vector는 시퀀스 컨테이너이므로 원소의 저장 위치(순서)가 정해지며 배열 기반 컨테이너이므로 원소가 하나의 메모리 블록에 할당된다 시퀀스 컨테이너는 차례차례 원소를 추가하고 제거하는 push_back()과 pop_back()을 가지며, 첫 원소와 마지막 원소를 참조하는 front()와 back()을 가진다. 또한, 지정한 위치에 원소를 삽입할 수 있는 insert()를 가진다. vector는 앞쪽이 막혀 있는 형태로 앞쪽에는 원소를 추가/제거할 수 없으며 뒤쪽에만 추가/제거 할 수 있다. 다른 시퀀스 컨테이너 (list, deque)는 앞쪽에 ..

    2. STL을 한눈에

    2. STL을 한눈에

    컨테이너 컨테이너 같은 타입을 저장, 관리할 목적으로 만들어진 클래스 컨테이너는 2가지로 나뉨 (총 7가지 컨테이너) 표준 시퀀스 컨테이너 (standard sequence container) 컨테이너 원소가 자신만의 삽입 위치(순서)를 가지는 컨테이너 삽입되는 순서에 따라 원소의 위치가 결정되고 바뀌지 않음 3가지 : vector, deque, list : 선형적 표준 연관 컨테이너 (standard associative container) 저장 원소가 삽입 순서와 다르게 특정 정렬 기준에 의해 자동 정렬되는 컨테이너 삽입 순서와 상관없이 정렬 기준(디폴트 less)에 따라 원소의 위치가 결정 4가지 set, multiset, map, multimap : 비선형적 string 컨테이너 시퀀스 컨테이너의..

    1. STL이란

    1. STL이란

    STL은 C++ 표준 라이브버리의 일부분으로 Standard Template Library의 약자 STL은 프로그램에 필요한 자료구조와 알고리즘을 템플릿으로 제공하는 라이브러리 또한, 자료구조와 알고리즘은 서로 반복자라는 구성 요소를 통해 연결됨 STL의 구성요소 컨테이너 반복자 알고리즘 함수 객체 어뎁터 할당기 STL의 3가지 특징 효율성 일반화 프로그램(재사용성) 확장성 STL은 이 세 특징에 중점을 두고 개발된 라이브러리 STL 알고리즘은 너무나도 일반적 => 특정한 자료구조와 형식에 종속 x