=====find=====
Syntax:
#include
input_iterator find( input_iterator start, input_iterator end, const TYPE& val );
The find() algorithm looks for an element matching ''val'' between ''start'' and ''end''.
If an element matching ''val'' is found, the return value is an iterator that
points to that element. Otherwise, the return value is an iterator that points
to ''end''.
For example, the following code uses find to search a [[/stl/vector/|vector]] of integers for
the number 3:
int num_to_find = 3;
vector v1;
for( int i = 0; i < 10; i++ ) {
v1.push_back(i);
}
vector::iterator result;
result = find( v1.begin(), v1.end(), num_to_find );
if( result == v1.end() ) {
cout << "Did not find any element matching " << num_to_find << endl;
}
else {
cout << "Found a matching element: " << *result << endl;
}
In the next example, shown below, the find function is used on an array of
integers. This example shows how the C++ STL algorithms can be used to manipulate
arrays and pointers in the same manner that they manipulate containers and
iterators:
int nums[] = { 3, 1, 4, 1, 5, 9 };
int num_to_find = 5;
int start = 0;
int end = 2;
int* result = find( nums + start, nums + end, num_to_find );
if( result == nums + end ) {
cout << "Did not find any number matching " << num_to_find << endl;
} else {
cout << "Found a matching number: " << *result << endl;
}
Related Topics: [[adjacent_find]], [[find_end]], [[find_first_of]], [[find_if]], [[mismatch]], [[search]]