PGR21.com
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date 2009/07/23 13:14:17
Name DEICIDE
Subject C++ 질문입니다. Map 클래스에 벡터를 key 나 value 로 하고 싶으면 어떻게 해야 하나요?
map 을 사용하는데 궁금한게 있어서 질문합니다.

map 을 선언할 때

map<vector<string>, string> map1;

이런 식으로 선언한다면(즉 key 값을 vector 로 하고 싶다면) 어떻게 key 값을 insert 할 수 있나요?

혹시 무리한 시도를 하는건가요;

답변 주시면 감사하겠습니다~

ThEnd.

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
09/07/23 15:07
수정 아이콘
두 가지 방법 있습니다. [] 연산자 활용이랑, pair<> 활용

#include <iostream>
#include <string>
#include <vector>
#include <map>

using namespace std;
typedef vector<string> key;
typedef string data;
typedef map<key,data> cont;
void main()

cont map1;

key vec_str1, vec_str2;
vec_str1.push_back("A");
vec_str1.push_back("B");
vec_str1.push_back("C");

vec_str2.push_back("1");
vec_str2.push_back("2");
vec_str2.push_back("3");
vec_str2.push_back("4");

map1[ vec_str1 ] = "ABC"; // 1. [] 연산자 사용
map1.insert( pair<key,data> (vec_str2, "1234") );

for (cont::const_iterator it= map1.begin(); it!= map1.end(); it++) {
const key& k = it->first;
const data& d = it->second;
cout << "#key: "<< k.size() << ", data= " << d << endl;

getchar();
}
09/07/23 16:33
수정 아이콘
XEEN님// 감사합니다. vec 을 통째로 넣는군요.
음; 그런데 map 에 key 와 data 를 따로 넣기는 여전히 아리송하네요.
insert 나 [] 연산자를 사용해도 map1[vec_str1[0]] 에는 value 를 넣을수가 없으니까요.
09/07/23 17:08
수정 아이콘
map 구조를 key,data 로 잡아놓고 vec_str1[0] 을 넣을 수는 없죠. 그렇게 하려고 하셨다면

typedef string key;
typedef string data;
typedef map<key,data> cont;

로 잡으셨어야죠. key 와 data 는 같이 넣는거구요. 따로 넣을 수는 없습니다.
09/07/23 17:40
수정 아이콘
XEEN님// 그렇군요.
제가 본문에 말했던
map<vector<string>, string> map1;
이라는 구조는, map 의 key 값을 vec[0], vec[1], vec[2].. 등등으로 잡아놓고
각각의 key 에 "Lim", "Lee", "Choi" 등을 value 를 묶을 수 있지 않을까... 하는 생각이었습니다.
vec[0] 의 값은 "Yo Hwan" 으로 하고요.
그래서 Last name 을 key 로, First name 을 value 로 하는 맵을 생각했습니다.

문제에서 'Key 는 이름의 벡터가 되는 맵을 정의해라' 라는 말을 제가 좀 이상하게 해석했나봅니다. 답변 감사합니다.
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
공지 통합 공지사항 + 질문 게시판 이용에 관하여. [22] 항즐이 08/07/22 90009
163976 야구 질문입니다 [6] 一切唯心造74263 13/04/03 74263
163975 이런 계산이 가능한가요? [5] 시미군91156 13/04/03 91156
163974 4월말-5월초에 입고 나가기 좋은 스타일 어디서 볼 수 있나요? [2] 자음연타좀72967 13/04/03 72967
163951 쿼티폰 추천부탁드립니다 [11] 천둥62947 13/04/03 62947
163950 요즘 할만한 게임 뭐가 있나요? [10] 목화씨내놔67772 13/04/03 67772
163949 bm코드 짚기가 너무 어려운데 어떻게 하셨나요? [12] 뽀로로74123 13/04/03 74123
163948 여행사에 대해서 궁금한점이 있습니다 [4] 소녀시대컴백58053 13/04/03 58053
163947 세들어사는집을 비워둔 상태인데 수도요금은 계속 내야하는건가요 ? [18] Ha.록73102 13/04/03 73102
163946 이렇게 하면 살을 얼마나 뺄 수 있을까요? [10] 연애박사70114 13/04/03 70114
163945 lol이 중고등학생 친목용 게임으론 최고인 것 같지만... [34] 창이94842 13/04/03 94842
163943 변 질문 ......... [1] 피지컬보단 멘탈57035 13/04/03 57035
163942 혹시 서울 재즈 페스티벌 가려고 계획하시는분 있으세요?! [5] Nujnah_Eab54964 13/04/03 54964
163941 류현진선수 대뷔전 [6] 가게두어라60500 13/04/03 60500
163940 노트북이 맛이 갔습니다. [1] 시지프스56944 13/04/03 56944
163939 축구 룰 질문드립니다 - 홈 & 어웨이 방식 [5] Dwyane55100 13/04/03 55100
163938 니달리와 트포에 대해서. [8] 자기 사랑 둘59229 13/04/03 59229
163937 [퍼드]60랭 진로조언+인벤 활용법좀 [5] 이즈리얼53431 13/04/03 53431
163935 악성코드 이건 어떤 프로그램이 좋나요?? [3] 김치찌개56070 13/04/03 56070
163934 경제 문제 하나 여쭤보고 싶습니다 [2] 643634632655722 13/04/03 55722
163931 미국 학생비자 질문드려요... [3] 神용재56023 13/04/03 56023
163930 발음과 발성은 후천적으로 고칠수 없나요? [12] H265298 13/04/03 65298
163929 저가형 헤드폰 하나 추천해주시겠어요? [3] azurespace51038 13/04/03 51038
목록 이전 다음
댓글

+ : 최근 6시간내에 달린 댓글
+ : 최근 12시간내에 달린 댓글
맨 위로