Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Veranschaulicht, wie die Funktion Suche Standardvorlagenbibliothek (STL) in Visual C++ verwendet.
template<class InputIterator, class T> inline
InputIterator find(
InputIterator First,
InputIterator Last,
const T& Value
)
Hinweise
Hinweis |
|---|
Die Klasse/Parameternamen im Prototyp stimmen nicht mit der Version in der Headerdatei ab.Einige wurden geändert, um die Lesbarkeit zu verbessern. |
Der find Algorithmus sucht das erste Element im Bereich [First, Last) Übereinstimmungen Value und gibt den Iterator zurück, der beim ersten übereinstimmenden Element positioniert werden, oder Last , wenn kein solches Element vorhanden ist.
Beispiel
// find.cpp
// compile with: /EHsc
// Demonstrates using find() on a C++ array, a vector, and an STL array.
#include <algorithm>
#include <iostream>
#include <vector>
#include <array>
using namespace std;
using namespace std::tr1;
void FindInArray()
{
const int ARRAY_SIZE = 8;
int IntArray[ARRAY_SIZE] = { 1, 2, 3, 4, 4, 5, 6, 7 };
int value = 4;
// print contents of IntArray
cout << endl << "array";
for(int i = 0; i < ARRAY_SIZE; i++)
{
cout << " " << IntArray[i];
}
cout << endl;
// Find the first element in the range [first, last)
// that matches value.
int *location = find(IntArray, IntArray + ARRAY_SIZE, value);
//print the matching element if any was found
if (location != IntArray + ARRAY_SIZE) // matching element found
{
cout << "First element that matches " << value
<< " is at location " << location - IntArray << endl;
}
else // no matching element was found
{
cout << "The sequence does not contain any elements"
<< " with value " << value << endl;
}
}
void FindInVector()
{
vector<int> v;
v.push_back( 1 );
v.push_back( 2 );
v.push_back( 3 );
v.push_back( 4 );
v.push_back( 4 );
v.push_back( 5 );
v.push_back( 6 );
v.push_back( 7 );
int value = 4;
// print contents of v
cout << endl << "vector";
for(vector<int>::const_iterator i = v.begin(); i != v.end(); ++i)
{
cout << " " << *i;
}
cout << endl;
// Find the first element in the range [first, last)
// that matches value.
vector<int>::const_iterator location = find(v.begin(), v.end(), value);
//print the matching element if any was found
if (location != v.end()) // matching element found
{
cout << "First element that matches " << value
<< " is at location " << location - v.begin() << endl;
}
else // no matching element was found
{
cout << "The sequence does not contain any elements"
<< " with value " << value << endl;
}
}
void FindInStlArray()
{
const int ARRAY_SIZE = 8;
typedef array<int, ARRAY_SIZE> arraytype;
arraytype a = { 1, 2, 3, 4, 4, 5, 6, 7 };
int value = 4;
// print contents of a
cout << endl << "STL array";
for(arraytype::const_iterator i = a.begin(); i != a.end(); ++i)
{
cout << " " << *i;
}
cout << endl;
// Find the first element in the range [first, last)
// that matches value.
arraytype::const_iterator location = find(a.begin(), a.end(), value);
//print the matching element if any was found
if (location != a.end()) // matching element found
{
cout << "First element that matches " << value
<< " is at location " << location - a.begin() << endl;
}
else // no matching element was found
{
cout << "The sequence does not contain any elements"
<< " with value " << value << endl;
}
}
int main()
{
FindInArray();
FindInVector();
FindInStlArray();
}
Output
array 1 2 3 4 4 5 6 7
First element that matches 4 is at location 3
vector 1 2 3 4 4 5 6 7
First element that matches 4 is at location 3
STL array 1 2 3 4 4 5 6 7
First element that matches 4 is at location 3
Anforderungen
Header: <algorithm>
Hinweis