Narzędzia użytkownika

Narzędzia witryny


find_first_of

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

find_first_of [2008/12/12 22:36] (aktualna)
ppasznik utworzono
Linia 1: Linia 1:
 +====== Algorytm find_first_of ======
 +
 +Algorytm find_first_of zaimplementowany jest jako dwie przeciążone funkcje:
 +
 +<code cpp>
 +template <class InputIterator,​ class ForwardIterator>​
 + InputIterator find_first_of(InputIterator first1, InputIterator last1,
 +                            ForwardIterator first2, ForwardIterator last2);
 +
 +template <class InputIterator,​ class ForwardIterator,​ class BinaryPredicate>​
 + InputIterator find_first_of(InputIterator first1, InputIterator last1,
 +                            ForwardIterator first2, ForwardIterator last2,
 +                            BinaryPredicate comp);
 +</​code>​
 +
 +InputIterator - to taki iterator z którego może być wyłuskany obiekt, powinien też pozwalać wskazywać na następny iterator w sekwencji.
 +
 +ForwardIterator - to taki iterator, który służy do przeglądania liniowej sekwencji wartości, aczkolwiek nie potrafi działać
 +wstecz jak sama nazwa wskazuje. Doskonale nadaje się do wieloprzejściowego przeglądania danych.
 +
 +Funkcje te różnią się tym, że w pierwszej domyślnym predykatem jest po prostu operator== (musi istnieć operator== dla argumentów typu
 +wyłuskanych InputIterator i ForwardIterator),​ a w drugim można podać własny warunek za pomocą predykatu lub funkcji.
 +
 +find_first_of operuje na dwóch kontenerach,​ przeglądajac je za pomocą iteratorów. Dla rozróżnienia nazwe je konternerem wzorcowym i kontenerem przesukiwanym.
 +
 +<code cpp>​find_first_of(przeszukiwanyKontener.begin(),​ przeszukiwanyKontener.end(),​ kontener_wzorcowy.begin(),​ kontener_wzorcowy.end());</​code>​
 +
 +Działa podobnie jak zwykły find z tą różnicą, że wyszukuje w zakresie wyznaczonym iteratorami kontenera wzorcowego pierwszego wystąpienia wartości
 +w kontenerze przeszukiwanym (również w jego części lub całości wyznaczonej poprzez iteratory. ​
 +
 +Aby skorzystać z algorytmu find_first_of należy włączyć plik nagłówkowy:​
 +<code cpp> #​include<​algorithm>​ </​code>​
  
find_first_of.txt · ostatnio zmienione: 2008/12/12 22:36 przez ppasznik