Page 140

break; } myVector.push_back(num); } while (true) { cout << "Enter a number to lookup (0 to stop): "; cin >> num; if (num == 0) { break; } auto endIt = cend(myVector); auto it = find(cbegin(myVector), endIt, num); if (it == endIt) { cout << "Could not find " << num << endl; } else { cout << "Found " << *it << endl; } } return 0; }

find ( )를 호출할 때 cbegin (myVector )와 endIt을 인수로 지정했다. 여기서는 vector에 있

는 원소를 모두 검색하도록 endIt을 cend (myVector )로 정의한다. 일부분만 검색하려면 이 두 반복자를 적절히 변경한다. 앞에서 작성한 코드를 실행한 결과는 다음과 같다. Enter Enter Enter Enter Enter Enter Found Enter Could Enter

a number a number a number a number a number a number 5 a number not find a number

to to to to to to

add (0 add (0 add (0 add (0 add (0 lookup

to to to to to (0

stop): 3 stop): 4 stop): 5 stop): 6 stop): 0 to stop): 5

to lookup (0 to stop): 8 8 to lookup (0 to stop): 0

C++17부터 추가된 if 문의 이니셜라이저를 적용하면 find ( )를 호출하고 결과를 검사하는 작 업을 다음과 같이 한 문장으로 표현할 수 있다.

856 3부 전문가답게 C++ 코딩하기

Profile for 한빛미디어

전문가를 위한 C++ (개정4판) - 맛보기  

『전문가를 위한 C++』(개정4판)은 새로 추가된 기능과 관련 도구를 비롯해 C++에 대한 모든 내용을 코드와 솔루션 위주로 소개한다. 저자는 실전 프로그래밍에 적용할 수 있는 현실적인 기법을 다양하게 소개하였으며, 본 교재는 C++를 더 깊이 이해하...

전문가를 위한 C++ (개정4판) - 맛보기  

『전문가를 위한 C++』(개정4판)은 새로 추가된 기능과 관련 도구를 비롯해 C++에 대한 모든 내용을 코드와 솔루션 위주로 소개한다. 저자는 실전 프로그래밍에 적용할 수 있는 현실적인 기법을 다양하게 소개하였으며, 본 교재는 C++를 더 깊이 이해하...