C++ 11은 사용할 수 있습니까?그래서 다음과 같이 호출 다음
struct MatchFirst
{
MatchFirst(const string& realName) : realName(realName) {}
bool operator()(const pair<string, string>& val) {
return val.first == realName;
}
const string& realName;
};
:
auto it = find_if(theList.begin(), theList.end(),
[&](const pair<string, string>& val) -> bool {
return val.first == realName;
});
return it->second;
또는 C++ 03
먼저 펑터를 정의
myList::iterator it = find_if(a.begin(), a.end(), MatchFirst(realName));
return it->second;
이를 첫 번째 경기를 반환하지만로부터 질문, 그것은 당신이 기대하는 모든 것 같습니다.
왜 '지도'를 사용하지 않습니까? 기타주의 사항 :'std :: set'이라면 왜'myList'라고 불 렸을까요? 'std :: pair'에 대한 비교 함수를 만들었습니까? 그것은 어떻게 생겼어? –