하나의 키에 두 값을 매핑하는 가장 좋은 방법은 무엇입니까?std :: 하나의 키, 두 개의 값 매핑
즉 값과 부울이있는 항목입니다.
std::map<std::string, std::pair<std::string, bool> > myMap2
을하지만 올바른 해결책은 아닌 것 같아 :
사용하여 시도했다. 이 일을 더 우아한 방법이 있습니까?
하나의 키에 두 값을 매핑하는 가장 좋은 방법은 무엇입니까?std :: 하나의 키, 두 개의 값 매핑
즉 값과 부울이있는 항목입니다.
std::map<std::string, std::pair<std::string, bool> > myMap2
을하지만 올바른 해결책은 아닌 것 같아 :
사용하여 시도했다. 이 일을 더 우아한 방법이 있습니까?
실제로 이것이 정확한 해결책입니다. 일반적으로 std::pair
대신 std::pair
대신 std::pair
이 두 개로 제한되는 균일 한 인터페이스의 경우 std::pair
을 사용하거나 std::
또는 std::tr1::
구현을 제공하기에는 너무 오래된 컴파일러 인 경우 boost::tuple
을 사용하는 것이 좋습니다.
튜플 튜토리얼 ... 고마워요 – JonnyCplusplus
튜플이 손에서 벗어나기 시작할 때 구조체가 ... –
@Steve : 튜플에 두 개 이상의 항목이 포함되어있을 때 나타납니다. :) 튜플은 내용이 균등하게 형식화되지 않았거나 명백한 방식으로 구조화되지 않은 경우 읽을 수없는 코드를 승격시킵니다. 'iter-> second.get <6>()'코드는 지저분합니다. –
std::pair<>
을 사용하거나 저장하려는 값이 들어있는 사용자 지정 구조체를 만듭니다. 대부분의 경우 후자를 사용합니다. 값의 이름은 first
및 second
보다 구체적입니다.
일반적으로 간단한 mapValue 구조체/클래스를 생성합니다.
'std :: pair <>'는 정상입니다. 당신의 관심사는 무엇입니까? – Keith