#include <map>
/// 선언
std::map<int, std::string> my_map_i_str;
/// 요소추가 예. 키=3, 값 igotit
my_map_i_str[3] = std::string("igotit");
/// 요소추가
my_map_i_str.insert(std::pair<int, std::string>(3,std::string("igotit")));
/// 요소제거
my_map_i_str.erase(3);
// 요소 모두제거
my_map_i_str.clear();
/// 요소받기
std::string my_str = my_map_i_str[3];
std::string my_str = my_map_i_str.at(3);
/// 요소수량 받기.
my_map_i_str.size();
/// 비어있나 점검.
my_map_i_str.empty(); // 요소수량 0이면 1반환 1이상이면 0반환.
/// 특정 키 여부 확인.
my_map_i_str.count(3); //키 3에 해당하는 요소수량. 맵의 키는 유니크하므로 있는 경우 1이 반환됨.
/// 반복하기
for(std::map<int, std::string>::value_type& iter : my_map_i_str)
{
iter.first ;// 키
iter.second ;// 값
}
/// 위와 동일
for(auto& iter : my_map_i_str)
{
iter.first ;// 키
iter.second ;// 값
}
//////// 반복 예.
map<char, int> mymap;
mymap['a'] = 1;
mymap['b'] = 2;
mymap['c'] = 3;
// using begin() to print map
for (auto it = mymap.begin();
it != mymap.end(); ++it)
cout << it->first << " = "
<< it->second << '\n';
출력.
a = 1
b = 2
c = 3
map 의 크기 정렬
- 키 값의 큰값이 map 의 앞에 , 혹은 작은 값이 앞에 오게 할 수 있다.
map 선언시 std::map<int, CString>처럼 특별히 지정하지 않은 경우 키의 값이 작은 값이 앞에 배치된다.
명시적으로 이를 선언시 표현하려면 std::map<int, CString, std::less<int>>
map 선언시 std::map<int, CString, std::greater<int>> 처럼 선언하면 키의 큰 값이 map 의 앞에 배치된다.
필요 헤더 : <functional>
map 에서 2개의 키
std::map<std::pair<string, string>, int> map_2key; // 2개의 키를 갖도록 pair 로 선언.
map_2key[std::make_pair("str1","str2")];
..
기타 상세정보
연관
첫 등록 : 2020.04.01
최종 수정 :
단축 주소 : https://igotit.tistory.com/2523
'VisualStudio.C++.C# > C . C++' 카테고리의 다른 글
C++ template (템플릿), 변수, 함수, 클래스 템플릿. 제네릭 타입. (0) | 2020.09.15 |
---|---|
C/C++. 실수 , 올림 내림 반올림 , ceil floor round (0) | 2020.05.26 |
C/C++. 윈도우. 파일 저장, 읽기 . FILE . fopen, fprintf, fscanf (0) | 2020.03.29 |
C++ REST SDK. Json 형식 다루기 . (0) | 2020.03.22 |
C/C++. C 에서 C++ 함수 호출하기. extern "C" 선언. C++ 에서 C함수 호출. (0) | 2020.01.24 |
댓글