본문 바로가기

프로그램언어/C++

STL Container

TODO
모든 표준 컨테이너에 공통적으로 들어 있으며 한두 개를 제외하고 공통적으로 들어 있는 멤버부터

정리해 보도록 하겠다. 더 자세한 내용이 필요하면 여러분 각자가 가지고 있는 표준 헤더를 열어보면

될 것이다.  ( e.f ) < list > < map > < vector > ...etc

  

 맴버 타입
valuse_type  : 원소의 타입
allocator_type : 메모리 관리자의 타입
size_type : 첨자, 원소 개수 등의 타입
difference_type : 반복자 사이의 간격을 나타내는 타입
iterator : value_type* 과 비슷한 역할을 하는 타입
const_iterator : const value_type* 과 비슷한 역할을 하는 타입
reverse_iterator : value_type* 과 비슷한 역할이되, 컨테이너를 반대 순서로 처리함.
const_reverse_iterator : const value_type* 과 비슷한 역할이되, 컨테이너를 반대 순서로 처리함.
reference : value_type& 
const_reference : const value_type&
key_type : 키의 타입 ( 연관 컨테이너에서만 해당 )
mapped_tyep : 매핑된 값의 타입 ( 연관 컨테이너에서만 해당 )
key_compare : 비교 기준의 타입 ( 연관 컨테이너에서만 해당 )
 


반복자
begin() : 첫 번째 원소를 가리킴
end() : 마지막 원소 직후 ( one-past-last ) 를 가리킴
rbegin() : 시퀸스를 반대 순서로 봤을 경우의 첫 번째 원소를 가리킴.
rend() : 시퀸스를 반대 순서로 봤을 경우의 마지막 원소를 가리킴.
 


원소 접근
front() : 첫 번째 원소
back() : 마지막 원소
[] : 첨자 연산. 범위 점검 안됨
at() : 첨자 연산. 범위 점검 됨 ( vector 및 deque 에서만 해당 )
 

벡터와 테크는 원소 시퀸스의 뒷부분(back) 에 대한 연산이 대단히 효율적이다. 한편, 리스트와 테크는 

앞부분(front)에 대한 연산이 뒷부분에 대한 연산만큼 효율적이다.



스택 및 큐 연산
push_back() : 끝에 추가한다.
pop_back() : 마지막 원소를 제거한다.
push_back() : 앞에 새로 추가한다. ( list 및 deque 에 해당 )
pop_front() : 첫 번째 원소를 제거한다.( list 및 deque 에 해당 )
 

컨테이너는 리스트 자료구조에 관련된 연산도 제공한다.


리스트 연산
insert( p, x ) : p 앞에 x를 추가한다.
insert( p , n, x ) : p 앞에 x의 사본 n 개를 추가한다.
insert( p, first, last ) :  p 앞에 [first:last [ 범위의 원소를 추가한다.
erase(p) : p에 있는 원소를 제거한다.
erase ( first, last ) : [ first:last[ 범위의 원소들을 제거한다.
clear() : 모든 원소를 제거한다.

'프로그램언어 > C++' 카테고리의 다른 글

make 강좌  (0) 2008.07.22
AutoTools  (0) 2008.07.22
[C++] 캐스트 연산자  (0) 2008.07.22
리눅스용 뮤텍스(mutex) 사용 예제  (0) 2008.07.22
C++ 튜토리얼 소스  (0) 2008.07.22