2011-03-07 2 views
2

값 목록을 검색하고 검색 할 값을 찾을 수없는 경우 일종의 '기본'오류 값을 반환하려고합니다. 나는 std::cerr을 의미하지는 않습니다. 내 프로그램에서 쓸 수있는 가치를 의미합니다. 그러나 문자열을 찾으면 문자열에있는 포인터 값이 필요합니다. 어떻게해야합니까?std :: list를 얻는 방법 <std::string> :: 오류 값을 출력하는 iterator?

+1

'std :: cerr'는 원격으로 "오류 값"과 같은 것이 아닙니다. 오류 메시지 **를 출력 할 수있는 ** 장소 (스트림)입니다. –

답변

5
typedef std::list<std::string> MyList; 
MyList mylist; 
MyList::iterator iter = mylist.find("somestring"); 
if (iter != mylist.end()) { 
    // the string was found 
} else { 
    // the string was not found 
} 
4

관용적 인 방법은 반복자 (포인터가 아님)를 반환하고 요소가 발견되지 않으면 끝 반복자를 반환하는 것입니다.

<algorithm>에 이미 std::find이 포함되어 있기 때문에이 내용을 쓸 필요가 없습니다.

관련 문제