Libreria di algoritmi C ++ - funzione find_if_not ()
Descrizione
La funzione C ++ std::algorithm::find_if_not()trova l'ultima occorrenza dell'elemento che soddisfa la condizione. Utilizza un predicato unario per specificare la condizione.
Dichiarazione
Di seguito è riportata la dichiarazione per std :: algoritmo :: find_if_not () modulo std :: intestazione algoritmo.
C ++ 11
template <class InputIterator, class UnaryPredicate>
InputIterator find_if_not(InputIterator first, InputIterator last, UnaryPredicate pred);
Parametri
first - Input iteratore alla posizione iniziale.
last - Iteratore finale alla posizione finale.
pred - Un predicato unario che accetta un argomento e restituisce bool.
Valore di ritorno
restituisce un iteratore al primo elemento nell'intervallo (primo, ultimo) per il quale il predicato unario restituisce false. Se non viene trovato alcun elemento di questo tipo, la funzione restituisce last.
Eccezioni
Genera un'eccezione se il predicato o un'operazione su un iteratore genera un'eccezione.
Tieni presente che i parametri non validi causano un comportamento indefinito.
Complessità temporale
Lineare.
Esempio
Il seguente esempio mostra l'utilizzo della funzione std :: algoritmo :: find_if_not ().
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
bool unary_pred(int n) {
return ((n % 2) == 0);
}
int main(void) {
vector<int> v = {2, 4, 61, 8, 10};
auto it = find_if_not(v.begin(), v.end(), unary_pred);
if (it != end(v))
cout << "First odd number is " << *it << endl;
v = {2, 4, 6, 8, 10};
it = find_if_not(v.begin(), v.end(), unary_pred);
if (it == end(v))
cout << "Only enven elements present in the sequence." << endl;
return 0;
}
Compiliamo ed eseguiamo il programma sopra, questo produrrà il seguente risultato:
First odd number is 61
Only enven elements present in the sequence.