std::not_equal_to en C++ con ejemplos

El std::not_equal_to es una clase de objeto funcional para la comparación de no igualdad y la clase de objeto de función binaria. Devuelve un valor booleano dependiendo de la condición de si los dos argumentos no son iguales o no.
Archivo de cabecera: 
 

#include <functional.h>

Clase de plantilla: 
 

template struct not_equal_to :
            binary_function  {

  // Declaration of the
  // not equal to operation 
  bool operator() (const T& x,
                   const T& y) 
       const 
  {
     return x!=y;
  }

  // Type of first parameter
  typedef T first_argument_type;

  // Type of second parameter
  typedef T second_argument_type;

  // The result is returned
  // as bool type
  typedef bool result_type;
}

Sintaxis: 
 

std::not_equal_to <int> ()

Parámetro: Esta función acepta el tipo de los argumentos T , como parámetro, a comparar por la llamada funcional.
Tipo de devolución: devuelve un valor booleano según la condición (deje que a y b sean 2 elementos): 
 

  • Verdadero: Si a no es igual a b.
  • Falso: Si a es igual a b.

A continuación se muestra la ilustración de std::not_equal_to en C++:
Programa 1: 
 

CPP

// C++ code to illustrate std::not_equal_to
 
#include <algorithm>
#include <functional>
#include <iostream>
#include <vector>
using namespace std;
 
// Driver Code
int main()
{
    // Initialise vectors
    vector<int> v1 = { 50, 55, 60,
                       65, 70 };
    vector<int> v2 = { 50, 55, 85,
                       65, 70 };
 
    // Declaring pointer of pairs
    pair<vector<int>::iterator,
         vector<int>::iterator>
        pairs1;
 
    // Use mismatch() function to
    // search first match between
    // v1 and v2
    pairs1 = mismatch(v1.begin(), v1.end(),
                      v2.begin(),
                      not_equal_to<int>());
 
    // Print the match pair
    cout << "The 1st match element"
         << " of 1st container : ";
    cout << *pairs1.first << endl;
 
    cout << "The 1st match element "
         << "of 2nd container : ";
    cout << *pairs1.second << endl;
 
    return 0;
}
Producción: 

The 1st match element of 1st container : 50
The 1st match element of 2nd container : 50

 

Programa 2: 
 

CPP

// C++ program to illustrate
// std::not_equals_to
#include <algorithm>
#include <functional>
#include <iostream>
using namespace std;
 
// Template
template <typename A, typename B,
          typename U = not_equal_to<int> >
 
// Function to check if a != b or not
bool f(A a, B b, U u = U())
{
    return u(a, b);
}
 
// Driver Code
int main()
{
    int X = 1, Y = 2;
 
    // If X is not equals to Y or not
    cout << boolalpha;
    cout << f(X, Y) << '\n';
 
    X = -1, Y = -1;
 
    // If X is not equals to Y or not
    cout << f(X, Y) << '\n';
 
    return 0;
}
Producción: 

true
false

 

Referencia: http://www.cplusplus.com/reference/funcional/not_equal_to/
 

Publicación traducida automáticamente

Artículo escrito por mehta_tanuj y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *