C++ algorithm find_if() function
Example
Find a value greater than 5 in a vector:
bool greater_than_5(int value) {
return value > 5;
}
int main() {
vector<int> numbers = {1, 7, 3, 5, 9, 2};
auto it = find_if(numbers.begin(), numbers.end(), greater_than_5);
if (it != numbers.end()) {
cout << "The number " << *it << " is greater than 5.";
} else {
cout << "No numbers greater than 5 were found.";
}
return 0;
}
Try it Yourself »
Definition and Usage
The find_if()
function returns an iterator pointing to the first value in a data range which matches a specified condition. If no values match the condition then it returns the iterator pointing to the end of the data range.
The range of data is specified by iterators.
The condition is specified by a function that takes the value of an element as an argument and returns a boolean value which is 1 if the condition is matched and 0 if the condition is not matched.
Syntax
find_if( iterator start, iterator end, function condition );
Parameter Values
Parameter | Description |
---|---|
start | Required. An iterator pointing to the start of the data range being searched. |
end | Required. An iterator pointing to the end of the data range being searched. Elements up to this position will be searched, but the element at this position will not be included. |
condition | Required. A function that takes the value of an element in the data range as an argument and returns a boolean value. |
Technical Details
Returns: | An iterator pointing to the first value in the data range that matches the specified condition, or the end of the data range if the condition is not matched by any of the values. |
---|
Related Pages
Read more about data structures in our Data Structures Tutorial.
Read more about iterators in our Iterators Tutorial.
Read more about algorithms in our Algorithms Tutorial.
Read more about booleans in our Booleans Tutorial.