Нет встроенной функции, которая делает именно это.
Есть std::find
, который подходит близко, но так как он не возвращает bool
, его немного неудобнее использовать.
Вы всегда можете бросить свой собственный, чтобы получить синтаксис, аналогичный предложению JIa3ep, но без использования count
(который всегда пересекает всю последовательность):
template <typename iter_t>
bool contains(iter_t first, iter_t last, typename iter_t::value_type val){
return find(first, last, val) != last;
}
Тогда вы можете просто сделать это, чтобы использовать его:
std::vector<int> x;
if (contains(x.begin(), x.end(), 4)) {...}