728x90
반응형
[Map]
- key와 value로 이루어져있으며 pair 객체(구조체) 형태를 원소로 가진다.
-> first와 second 접근 가능
- map 컨테이너에 삽입된 key값은 변경이 불가능하다!
-> map의 key타입은 const형태이다!
- 삽입이 되면서 자동 정렬된다.
map<자료형(key), 자료형(value)>
ex)
map<int, int> Mymap;
****** insert와 [인덱스 접근을 통한 원소삽입]의 차이점 ******
insert : 중복된 key값이 없을 경우 삽입, 있을 경우 무시
[인덱스 접근을 통한 원소삽입] : 중복된 key값이 없을 경우 삽입, 있을 경우 value값을 변경
-> 혹시 value에 동적할당한 값이 있을 경우 주소를 잃어버리는 현상이 발생할 수 있다!
- map 컨테이너는 key값에 따라 자동 정렬이 발생한다.
-> 중간 삽입의 의미가 없다.
-> 무효화 발생x
-> 정렬을 하면서 다시 셋팅해준다!
- 중간 삭제
begin의 무효화가 발생한다.
- map 컨테이너의 탐색
인덱스 접근을 통한 탐색이 가능하다.
- 멤버 함수 find()
find(탐색할 키 값)
원소가 있을 경우 해당 위치를 가리키는 반복자를 반환
원소가 없을 경우 end를 반환
-> 문자열 비교가 아닌 단순 비교이다.
-> 알고리즘 함수의 find_if 사용
728x90
반응형
'c++ > c++' 카테고리의 다른 글
. 과 -> 의 차이 (1) | 2021.07.12 |
---|---|
explicit, 댕글링 포인터(Dangling Pointer) (0) | 2021.07.08 |
알고리즘 - for_each (0) | 2021.05.29 |
STL - vector container (0) | 2021.05.26 |
STL(Standard Template Library) (0) | 2021.05.23 |