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; }
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; }
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