vector<int>::iterator it = find(list_vector.begin(), list_vector.end(), 5)
std::find
поиск в диапазоне, определяемом его двумя двумя аргументами. Он возвращает итератор, указывающий на первый элемент, который соответствует. Если элемент не совпадает, он возвращает свой второй параметр.
list_vector.begin()
возвращает итератор, который указывает на первый элемент list_vector
.
list_vector.end()
возвращает итератор, который указывает один элемент за конечный элемент list_vector
.
5
является объектом поиска. find()
будет искать элемент, который имеет значение 5
.
Если вы хотите, чтобы определить, если 10 присутствует в любом месте в векторе, сделайте следующее:
if(std::find(list_vector.begin(), list_vector.end(), 10) == list_vector.end())
std::cout << "No 10, bummer\n";
else
std::cout << "I found a 10!\n";
Или, если вы хотите, чтобы одновременно определить, присутствует 10 и определить его местонахождение :
std::vector<int>::iterator it = std::find(list_vector.begin(), list_vector.end(), 10);
if(it == list_vector.end())
std::cout << "No 10\n";
else
std::cout << "Look what I found: " << *it << "\n";
http://en.cppreference.com/w/cpp/algorithm/find – us2012
Я думаю, что «RTFM», суровы, как это может показаться, это единственный правильный ответ здесь ... –
«найти если число 10 было в выражении [if] "? А? – aschepler