[C++][STL] map

yyeahh·2020년 8월 22일
0

STL

목록 보기
2/4
post-thumbnail

#include < map >

 < map > 헤더파일 안에 구현되어 있음

▶ 변수 선언:

1. 기본형
 map <key_type, value_type> 변수명 
2. 그 외
 map <key_type, value_type> 변수명(변수)			:"변수"를 복사한 새로운 변수 생성
    
 map <key_type, value_type> 변수명(iter_1, iter_2)	:"iter_1"부터 "iter_2"까지 복사한 새로운 변수 생성

▶ Iterators:

 _.begin()	: 첫번째 요소를 가리키는 iterator를 반환
 _.end()	: 마지막 요소의 다음을 가리키는 iterator를 반환

 (std::map<key_type, value_type>::iterator → map형 iterator변수 선언)

▶ Capacity:

 _.empty()	: 해당 변수의 size가 0인지 아닌지를 알려줌 (size == 0 ? 1 : 0)
 _.size()	: 해당 변수의 size를 반환

▶ Access:

 _[key]		: key로 식별된 요소의 매핑 된 값에 대한 참조를 반환 
 _.at(key)	: key로 식별된 요소의 매핑 된 값에 대한 참조를 반환 

▶ Insert & Erase:

1. 삽입
 _.insert({key, value})	: 해당 변수에 새 요소를 삽입하고, 삽입 된 요소 수만큼 변수의 크기를 늘림
 		(동일한 키가 존재할때에는 삽입되지 않는다 → multimap 사용)
        	( "변수[key] = value"  ==  "insert({key, value})" )
        
         |insert(std::pair<key_type, value_type>(key, value))		: 단일 요소 추가
         |insert(iter, std::pair<key_type, value_type>(key, value))	: iterator 추가
       
 
 _.swap(변수)	: 해당 변수의 내용을 동일한 타입의 "변수"의 내용과 교환
2. 삭제
 _.erase()	: 해당 요소를 제거하고, 제거된 수만큼 변수의 크기 줄어듬
 
 	 |erase(iter)		: iter가 가리키는 요소 제거
         |erase(key)		: key가 가리키는 요소 제거, 지워진 요소의 수 반환
         |erase(iter_1, iter_2)	: iter_1부터 iter_2까지의 모든 요소 제거
        
        
 _.clear()	: 변수의 모든 요소를 제거하고 크기를 0으로 만듬
 
 _ = std::map<key, value >() : 모든 내용 삭제

▶ Etc:

 .find(key)	: 변수에서 key에 해당하는 요소를 검색하고 발견 되면 해당 요소의 const_iterator를 반환하고, 그렇지 않으면 .end()(=iterator)의 값을 반환함
 .count()	: 변수에서 key에 해당하는 요소를 검색하고 발견되면 1 그렇지 않으면 0을 반환

0개의 댓글