當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C++ std::not_equal_to用法及代碼示例


std::not_equal_to是用於非相等比較的函數對象類和二進製函數對象類。它會根據條件返回布爾值,這兩個參數是否相等。

頭文件:

#include <functional.h>

模板類別:

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

用法:

std::not_equal_to <int> ()

參數:該函數接受參數T的類型作為參數,以供函數調用進行比較。



返回類型:它根據條件返回布爾值(讓a和b為2個元素):

  • 真正:如果a不等於b。
  • 假:如果a等於b。

下麵是C++中std::not_equal_to的圖示:

程序1:

// C++ code to illustrate std::not_equal_to 
  
#include <algorithm> 
#include <functional> 
#include <iostream> 
#include <vector> 
using namespace std; 
  
// Driver Code 
int main() 
{ 
    // Intialise 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

程序2:

// 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

參考: http://www.cplusplus.com/reference/functional/not_equal_to/




相關用法


注:本文由純淨天空篩選整理自mehta_tanuj大神的英文原創作品 std::not_equal_to in C++ with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。