Windows apps
Collapse the table of content
Expand the table of content
Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

find_if

Illustrates how to use the find_if Standard Template Library (STL) function in Visual C++.

template<class InputIterator, class T, class Predicate> inline
   InputIterator find_if(
      InputIterator First,
      InputIterator Last,
      Predicate Predicate
   )
Note   The class/parameter names in the prototype do not match the version in the header file. Some have been modified to improve readability.

Remarks

The find_if algorithm locates the first element in the range [First, Last) that causes the predicate to return true and returns the iterator positioned at that element, or Last if no such element was found.

Example

// findif.cpp
// compile with: /EHsc

// disable warning C4786: symbol greater than 255 characters,
// okay to ignore
#pragma warning(disable: 4786)

#include <algorithm>
#include <iostream>

using namespace std;

// returns true if n is an odd number
int IsOdd( int n)
{
    return n % 2 ;
}

int main()
{
    const int ARRAY_SIZE = 8 ;
    int IntArray[ARRAY_SIZE] = { 1, 2, 3, 4, 4, 5, 6, 7 } ;
    int *location ;   // stores the position of the first
                      // element that is an odd number
    int i ;

        // print content of IntArray
    cout << "IntArray { " ;
    for(i = 0; i < ARRAY_SIZE; i++)
        cout << IntArray[i] << ", " ;
    cout << " }" << endl ;

    // Find the first element in the range [first, last -1 ]
    // that is an odd number
    location = find_if(IntArray, IntArray + ARRAY_SIZE, IsOdd) ;

    //print the location of the first element
    // that is an odd number
    if (location != IntArray + ARRAY_SIZE)  // first odd element found
        cout << "First odd element " << *location
             << " is at location " << location - IntArray << endl;
    else         // no odd numbers in the range
        cout << "The sequence does not contain any odd numbers"
             << endl ;
}

Output

IntArray { 1, 2, 3, 4, 4, 5, 6, 7,  }
First odd element 1 is at location 0

Requirements

Header: <algorithm>

See Also

Standard Template Library Samples

Show:
© 2017 Microsoft