Condividi tramite


greater Struct

Un predicato binario che verifica se un valore di un tipo specificato è maggiore di un altro valore di quel tipo.

template<class Type>
   struct greater : public binary_function <Type, Type, bool> 
   {
      bool operator()(
         const Type& _Left, 
         const Type& _Right
      ) const;
   };

Parametri

  • _Left
    L'operando sinistro di tipo Tipo la disuguaglianza da testare.

  • _Right
    L'operando di tipo Tipo la disuguaglianza da testare.

Valore restituito

true se _Left > _Right; false se <= _Rightdi _Left.

Note

Il predicato binario greater<Tipo> fornisce un ordine debole rigido di un set di valori degli elementi di tipo Tipo nelle classi di equivalenza se e solo se questo Tipo soddisfa le esigenze matematiche standard per pertanto essere ordinatoe.Le specializzazioni per qualsiasi tipo di puntatore restituiscono un ordine totale di elementi in quanto tutti gli elementi dei valori distinti vengono ordinati in base all'altro.

Esempio

// functional_greater.cpp
// compile with: /EHsc
#include <vector>
#include <algorithm>
#include <functional>
#include <cstdlib>
#include <iostream>

int main( )
{
   using namespace std;
   vector <int> v1;
   vector <int>::iterator Iter1;

   int i;
   for ( i = 0 ; i < 8 ; i++ )
   {
      v1.push_back( rand( ) );
   }

   cout << "Original vector v1 = ( " ;
   for ( Iter1 = v1.begin( ) ; Iter1 != v1.end( ) ; Iter1++ )
      cout << *Iter1 << " ";
   cout << ")" << endl;

   // To sort in ascending order,
   // use default binary predicate less<int>( )
   sort( v1.begin( ), v1.end( ) );
   cout << "Sorted vector v1 = ( " ;
   for ( Iter1 = v1.begin( ) ; Iter1 != v1.end( ) ; Iter1++ )
      cout << *Iter1 << " ";
   cout << ")" << endl;

   // To sort in descending order, 
   // specify binary predicate greater<int>( )
   sort( v1.begin( ), v1.end( ), greater<int>( ) );
   cout << "Resorted vector v1 = ( " ;
   for ( Iter1 = v1.begin( ) ; Iter1 != v1.end( ) ; Iter1++ )
      cout << *Iter1 << " ";
   cout << ")" << endl;
}

Output

Original vector v1 = ( 41 18467 6334 26500 19169 15724 11478 29358 )
Sorted vector v1 = ( 41 6334 11478 15724 18467 19169 26500 29358 )
Resorted vector v1 = ( 29358 26500 19169 18467 15724 11478 6334 41 )

Requisiti

intestazione: <functional>

Spazio dei nomi: deviazione standard

Vedere anche

Riferimenti

Libreria di modelli standard