Sobes.tech
Back to questions
Junior — Middle
81

Какое значение возвращает функция std::find_if, если искомый элемент не найден в контейнере?

Answer from AI

sobes.tech AI

Функция std::find_if возвращает итератор на первый элемент в диапазоне, для которого предикат возвращает true. Если такой элемент не найден, функция возвращает итератор, равный конечному итератору (обычно это end() контейнера).

Пример:

#include <iostream>
#include <vector>
#include <algorithm>

int main() {
    std::vector<int> v = {1, 3, 5, 7};
    auto it = std::find_if(v.begin(), v.end(), [](int x) { return x > 5; });
    if (it != v.end()) {
        std::cout << "Найден элемент: " << *it << std::endl;
    } else {
        std::cout << "Элемент не найден" << std::endl;
    }
    return 0;
}

Если элемент не найден, итератор будет равен v.end().