본문 바로가기

Program Languege/STL

map 함수

map 함수

 

 

생성, 복사, 소멸

 

동작 

 효과

 map c

 아무런 원소 없이 빈 map/multimap을 생성한다.

 map c(op)

 아무런 원소 없이 빈 map/multimap을 생성한다. 정렬 기준은 op를 사용한다.

 map c1(c2)  같은 타입으로 생성된 다른 map/multimap을 생성한다.
 map c(beg, end)

 (beg, end)의 범위로 초기화하여 map/multimap을 생성한다.

 map c(beg, end, op)

 (beg, end)의 범위로 초기화하여 map/multimap을 생성한다. 정렬 기준은 op를 사용한다.

 c.~map()

 모든 원소들을 파괴하고 메모리를 해제한다.

 

 

수정하지 않는 동작들

 

동작 

 효과

 c.size()

 실제 원소의 개수를 반환한다.

 c.empty()  컨테이너가 비어 있는지를 판단한다.(size() == 0 보다 빠르다.)
 c.max_size()  컨테이너가 가질 수 있는 최대 원소의 개수를 반환한다.
 c1 == c2

 c1과 c2가 같은지 판단한다.

 c1 != c2

 c1과 c2가 다른지 판단한다.

 c1 < c2

 c1이 c2보다 작은지를 판단한다.

 c1 > c2

 c1이 c2보다 큰지를 판단한다.

 c1 <= c2

 c1이 c2보다 작거나 같은지를 판단한다.

 c1 >= 2

 c1이 c2보다 크거나 같은지를 판단한다.

 

 

 

특별한 검색 함수들

 

동작 

 효과

 count(key)  key와 동일한 key를 가지는 원소의 개수를 반환한다.

 find(key)

 key의 값을 가지는 첫 번째 원소의 위치를 반환한다. 만약 존재하지 않는다면 end()를 반환한다.

 lower_bound(key)

 key의 값보다 크거나 같은 값을 가지는 원소의 위치를 반환한다.(첫 번째 원소의 key >= key)

 upper_bound(key)

 key보다 큰 값을 가지는 원소의 위치를 반환한다(첫 번째 원소의 key > key)

 equal_rage(key)

 정렬된 상태를 깨트리지 않고 key가 삽입될 수 있는 첫 번째 위치와 마지막 위치를 반환한다.

 

 

 

할당과 관련된 동작들

 

동작 

 효과

 c1 = c2

 c2의 모든 원소들은 c1에 할당한다.

 c1.swap(c2)

 c1과 c2의 데이터를 교환한다.

 swap(c1, c2)

 위와 동일.

 

 

 

 

반복자 함수

 

동작 

 효과

 c.begin()

 첫 번째 원소를 가리키는 랜덤 액세스 반복자를 반환한다. 
 c.end()

 맨 마지막 원소 뒤를 가리키는 랜덤 액세스 반복자를 반환한다.

 c.rbegin()

 역방향에서 첫 번째 원소의 역방향 반복자를 반환한다. 

 c.rend()

 역방향에서 마지막 원소 뒤를 가리키는 역방향 반복자를 반환한다.

 

 

원소의 삽입 및 제거

 

동작 

 효과

 c.insert(elem)

 elem의 복사본을 삽입하고 새로운 원소의 위치를 반환한다. set의 경우, 성공 여부도 포함하여 반환한다.

 c.insert(pos, elem)

 elem의 복사본을 삽입한다. 그리고 새로운 원소의 위치를 반환한다.

 (pos는 삽입 위치를 찾기위해 어디서부터 검색을 시작할 것인지에 대한 힌트로만 사용된다)

 c.erase(key)

 key와 동일한 key를 사용하는 모든 원소들을 제거한다. 제거된 원소의 개수를 반환한다.

 c.erase(pos)

 반복자 pos 위치의 원소를 제거한다. 반환 값은 없다.
 c.erase(beg, end)  (beg, end) 범위의 모든 원소들을 제거한다. 반환 값은 없다.
 c.clear()  모든 원소를 제거한다.(빈 컨테이너로 만든다).

 

 

 

 

 

출처 - The C++ Standard Library : A Tutorial and Reference

'Program Languege > STL' 카테고리의 다른 글

STL - 알고리즘  (0) 2014.03.20
pair  (0) 2014.03.19
set 함수  (0) 2014.03.19
list 함수  (0) 2014.03.19
vector 함수  (0) 2014.03.19