logical_not Struct
Die Struktur bietet ein vordefiniertes Funktionsobjekt, das die logische Operation der Negation für Elemente eines angegebenen Werttyps ausführt und für die Richtigkeit oder die Falschheit des Ergebnisses testet.
template<class Type>
struct logical_not : public unary_function<Type, bool>
{
bool operator()(
const Type& _Left
) const;
};
Parameter
- _Left
Der Operand des Typs Typ in der zu testenden Negation.
Rückgabewert
true wenn und nur dann _Leftfalse ist; false wenn und nur dann _Lefttrue. ist
Beispiel
// functional_logical_not.cpp
// compile with: /EHsc
#include <deque>
#include <algorithm>
#include <functional>
#include <iostream>
int main( )
{
using namespace std;
deque<bool> d1, d2 ( 7 );
deque<bool>::iterator iter1, iter2;
int i;
for ( i = 0 ; i < 7 ; i++ )
{
d1.push_back((bool)((i % 2) != 0));
}
cout << boolalpha; // boolalpha I/O flag on
cout << "Original deque:\n d1 = ( " ;
for ( iter1 = d1.begin( ) ; iter1 != d1.end( ) ; iter1++ )
cout << *iter1 << " ";
cout << ")" << endl;
// To flip all the truth values of the elements,
// use the logical_not function object
transform( d1.begin( ), d1.end( ), d2.begin( ),logical_not<bool>( ) );
cout << "The deque with its values negated is:\n d2 = ( " ;
for ( iter2 = d2.begin( ) ; iter2 != d2.end( ) ; iter2++ )
cout << *iter2 << " ";
cout << ")" << endl;
}
Anforderungen
Header: <functional>
Namespace: std