C ++ STL中的模量函数

在本文中,我们将讨论C ++中模数函数的工作,语法和示例。

什么是模数函数C ++?

C ++中的模数函数对象类,在<functional>头文件中定义。模数函数是一个二进制函数对象类,用于获取两个参数的模数运算的结果。此功能与运算符'%'相同。

模函数的语法

Template struct modulus : binary_function
{
   T operator() (const T& a, const T& b) const {return a%b; }
};

模板参数

该函数接受以下参数-

  • T-这是传递给函数调用的参数的类型。

示例

#include <iostream>
#include <algorithm>
#include <functional&g;
using namespace std;
int main(){
   //创建一个数组
   int arr[] = { 10, 20, 35, 45, 50, 61 };
   int rem[6];
   transform(arr, arr + 6, rem,bind2nd(modulus<int>(), 2));
   for (int i = 0; i < 5; i++){
      cout << arr[i] << " is a "<<(rem[i] == 0 ? "even" : "odd")<<"\n";
   }
   return 0;
}

输出结果

如果我们运行上面的代码,它将生成以下输出-

10 is a even
20 is a even
35 is a odd
45 is a odd
50 is a even