Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bağımsız değişkeninde mantıksal olmayan işlemi (operator!) gerçekleştiren önceden tanımlanmış bir işlev nesnesi.
Sözdizimi
template <class Type = void>
struct logical_not : public unary_function<Type, bool>
{
bool operator()(const Type& Left) const;
};
// specialized transparent functor for operator!
template <>
struct logical_not<void>
{
template <class Type>
auto operator()(Type&& Left) const
-> decltype(!std::forward<Type>(Left));
};
Parametreler
Tür
Belirtilen veya çıkarsanan türün işlenenini alan bir operator! destekleyen herhangi bir tür.
Left
Mantıksal olmayan işlemin işleneni. Belirtilmemiş şablon, Tür türünde bir lvalue başvuru bağımsız değişkenini alır. Özelleştirilmiş şablon, çıkarılmıştır türü tür lvalue ve rvalue başvuru bağımsız değişkenlerini mükemmel bir şekilde iletir.
Dönüş Değeri
sonucu.!Left Özelleştirilmiş şablon, tarafından operator!döndürülen türe sahip olan sonucun mükemmel iletilmesine sahiptir.
Örnek
// 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;
}
Original deque:
d1 = ( false true false true false true false )
The deque with its values negated is:
d2 = ( true false true false true false true )