Uso de la función set::find STL en Visual C++
En este artículo se muestra cómo usar la set::find función Biblioteca de plantillas estándar (STL) en Visual C++.
Versión original del producto: Visual C++
Número de KB original: 158576
Encabezado obligatorio
<set>
Prototipo
template<class _K, class _Pr, class _A>
class set
{
public:
// Function 1:
const_iterator find(const _K& _Kv) const;
}
Nota
Es posible que los nombres de clase o parámetro del prototipo no coincidan con la versión del archivo de encabezado. Algunas se han modificado para mejorar la legibilidad.
Descripción de la función set::find
La find función se usa para buscar un elemento en una secuencia controlada. Devuelve un iterador al primer elemento de la secuencia controlada cuya clave de ordenación coincide con su parámetro. Si no existe ningún elemento de este tipo, el iterador devuelto es igual a end().
Código de ejemplo
Nota
En Visual C++ .NET y En Visual C++, /EHsc se establece de forma predeterminada y es equivalente a /GX.
//////////////////////////////////////////////////////////////////////
// Compile options needed: -GX
// SetFind.cpp:
// Illustrates how to use the find function to get an iterator
// that points to the first element in the controlled sequence
// that has a particular sort key.
// Functions:
// find Returns an iterator that points to the first element
// in the controlled sequence that has the same sort key
// as the value passed to the find function. If no such
// element exists, the iterator equals end().
// Copyright (c) 1996 Microsoft Corporation. All rights reserved.
//////////////////////////////////////////////////////////////////////
#pragma warning(disable:4786)
#include <set>
#include <iostream>
#if _MSC_VER > 1020 // if VC++ version is > 4.2
using namespace std; // std c++ libs implemented in std
#endif
typedef set<int,less<int>,allocator<int> > SET_INT;
void truefalse(int x)
{
cout << (x?"True":"False") << endl;
}
void main()
{
SET_INT s1;
cout << "s1.insert(5)" << endl;
s1.insert(5);
cout << "s1.insert(8)" << endl;
s1.insert(8);
cout << "s1.insert(12)" << endl;
s1.insert(12);
SET_INT::iterator it;
cout << "it=find(8)" << endl;
it=s1.find(8);
cout << "it!=s1.end() returned ";
truefalse(it!=s1.end()); // True
cout << "it=find(6)" << endl;
it=s1.find(6);
cout << "it!=s1.end() returned ";
truefalse(it!=s1.end()); // False
}
Salida del programa
s1.insert(5)
s1.insert(8)
s1.insert(12)
it=find(8)
it!=s1.end() returned True
it=find(6)
it!=s1.end() returned False