logical_not Yapısı
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.
İade 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 )
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin