[C++ 언어-기초실습-19] map 사용하기?
[C++ 언어-기초실습-19] map 사용하기?
- 다운 사이트 : https://sourceforge.net/projects/orwelldevcpp/
- 웹컴파일러 : https://www.tutorialspoint.com/compile_c_online.php
c++ 에서는 map 라이브러리 함수들을 제공합니다. map이란 키와 값으로 한쌍으로 구상되어 있는데 느낌상으로는 배열과 비슷한 형태로 이해하시면 됩니다. 배열에서는 a[i]라고 정의하면 index인 i번째에 어떤 특정한 값을 저장한 반면 맵에서는 m[i]라고 정의하면 i라는 키가가 가리키는 곳에 특정한 값을 저장하는 형태라고 생각하시면 됩니다. map 라이브러리 파일을 보면 다양한 함수들을 제공하는데 그 중 간단한 map의 느낌만 실습하도록 하겠습니다.
1. map 사용
map 클래스를 사용하기 위해서는 아래와 같이 선언해주셔야 합니다.
#include
객체선언
map<키타입,값타입> 변수명;
예)
map<int, string> m;
입력
map<int,string> m;
m.insert(map<int,string>::value_type(1,"steemIt1"));
m.insert(pair<int,string>(2,"steemIt2"));
m[3]="steemIt3";
입력은 위 처럼 3가지 형태로 입력을 할 수 있습니다. 입력 스타일은 선택사항이고요. 그냥 이런식으로 입력을 할 수 있구나 정도로 이해하시면 됩니다.
출력
map<int,string> m;
map<int,string>::iterator i;
cout<<"m[1] = "<<m[1]<<endl;
for(i=m.begin();i!=m.end();i++){
cout<<"["<<i->first<<"] = "<<i->second<<endl;
}
위 코딩을 보시면 배열처럼 출력하면 됩니다. 참고로 i라는 변수명을 쓰긴 했는데 꼭 i에 대한 변수 선언을 위와 같이 해주셔야 합니다. 그냥 i변수니깐 for문이니 int형이지 하고 습관적으로 선언하지 마시고요. 시작값을 기준으로 끝값을 비교 체크해서 출력을 하면 됩니다. first은 키가 되겠고 second은 값이 되겠죠.
2. 실습
이제는 위 내용을 실제 코딩을 해서 정상적으로 결과가 나오는지 볼까요.
[전체소스]
#include
#include
#include
using namespace std;
int main(int argc, char** argv) {
map<int,string> m;
map<int,string>::iterator i;
m.insert(map<int,string>::value_type(1,"steemIt1"));
m.insert(map<int,string>::value_type(2,"steemIt2"));
m.insert(pair<int,string>(3,"steemIt3"));
m[4]="steemIt4";
m[5]="steemIt5";
for(i=m.begin();i!=m.end();i++){
cout<<"["<<i->first<<"] = "<<i->second<<endl;
}
cout<<"m[5] = "<<m[5]<<endl;
return 0;
}
[결과]
마무리
간단히 map 클래스를 이용하여 입출력 테스트를 해보았네요. 이외에도 다양함 함수들이 제공되는데 구글 키워드로 "map.h github"로 검색하시면 해당 내부 코딩을 보실 수 있을 거에요. map 클래스를 잘 사용하지 않는 거라서 이 부분은 기초적인 것만 알고 있네요. 더 깊게 다양한 함수를 사용하고 싶다면 한번 살펴보시는 것을 추천 드려요.
Sponsored ( Powered by dclick )
Leave [C++ 언어-기초실습-19] map 사용하기? to:
Read more #kr-dev posts
Best Posts From 천간
We have not curated any of codingman's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.
More Posts From 천간
- step 온라인평생교육원 무료사이트
- 울동네 산책로
- 명월초 키우기(부활)
- [C++ 언어-기초실습-24] GetSystemMetrics()함수로 윈도우 정보 얻기
- [구글스프레드시트] IMPORTXML()함수를 통한 로또번호 웹클로링
- [C++ 언어-기초실습-23] system()+cmd 명령으로 C 실행파일 만들기
- [C++ 언어-기초실습-22] system()+cmd 명령으로 파일 생성하기
- [C++ 언어-기초실습-20] system()함수 다루기
- [C++ 언어-기초실습-19] map 사용하기?
- [C++ 언어-기초실습-18] gotoxy()함수로 커서 이동하기?
- [C++ 언어-기초실습-17] 정수를 비트단위로 출력하기?
- [AdFit] 재미로 광고 달기
- [구글스프레드시트] 뉴스 기사 웹클로링
- [구글스프레드시트] 자동 이메일 보내기
- [C++ 언어-기초실습-16] 정수를 입력받아 각 자리 수을 더한 값을 구하라?
- [C++ 언어-기초실습-15] 글자 개수 세기
- [C++ 언어-기초실습-14] 숫자 맞추기 게임
- [C++ 언어-기초실습-13] 빈도수 구하기
- [C++ 언어-기초실습-12] 문자열 삽입하기?
- [C++ 언어-기초실습-11] 비만도 계산하기?