Udostępnij za pośrednictwem


Używanie funkcji set::find STL w programie Visual C++

W tym artykule pokazano, jak używać set::find funkcji Standard Template Library (STL) w języku Visual C++.

Oryginalna wersja produktu: Visual C++
Oryginalny numer KB: 158576

Wymagany nagłówek

<set>

Prototyp

template<class _K, class _Pr, class _A>
class set
{
    public:
    // Function 1:

    const_iterator find(const _K& _Kv) const;
}

Uwaga 16.

Nazwy klas/parametrów w prototypie mogą nie być zgodne z wersją w pliku nagłówka. Niektóre zostały zmodyfikowane w celu zwiększenia czytelności.

Opis funkcji set::find

Funkcja find służy do lokalizowania elementu w kontrolowanej sekwencji. Zwraca iterator do pierwszego elementu w kontrolowanej sekwencji, którego klucz sortowania pasuje do jego parametru. Jeśli taki element nie istnieje, zwracany iterator ma end()wartość .

Przykładowy kod

Uwaga 16.

W visual C++ .NET i Visual C++, /EHsc jest domyślnie ustawiony i jest odpowiednikiem /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
}

Dane wyjściowe programu

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