Home C&C++函数库 c++ 语法 程序源码 Linux C库

std::

negate

类模板  <functional>

template <class T> struct negate;

取反函数对象类
一元函数对象类,其调用将返回对其实参求反的结果(由一元操作符-返回)。

对一个值求反将返回具有相反符号的相同值。

一般来说,函数对象是定义了成员函数operator()的类的实例。该成员函数允许使用与函数调用相同的语法来使用对象。

它的行为定义如下:

C++98
template <class T> struct negate : unary_function <T,T> {
  T operator() (const T& x) const {return -x;}
};


该类的对象可用于标准算法,如transform。

☲  模板参数


T
参数的类型和函数调用的返回类型。
类型应支持操作(一元操作符-)。

☲  成员类型


成员类型 定义 注释
argument_type T 成员operator()中参数的类型
result_type bool 成员operator()返回的类型

☲  成员函数



T operator() (const T& x)
成员函数返回其实参(-x)的取反值。

☣  示例



// negate example
#include <iostream>     // std::cout
#include <functional>   // std::negate
#include <algorithm>    // std::transform

int main () {
  int numbers[]={10,-20,30,-40,50};
  std::transform (numbers, numbers+5, numbers, std::negate<int>());
  for (int i=0; i<5; i++)
    std::cout << numbers[i] << ' ';
  std::cout << '\n';
  return 0;
}

输出:
-10 20 -30 40 -50

🍄  另请参阅



plus 加法函数对象类(类模板)
minus 减法函数对象类(类模板)
multiplies 乘法函数对象类(类模板)
divides 除法函数对象类(类模板)
modulus 模函数对象类(类模板)
equal_to 用于相等比较的函数对象类(类模板)

联系我们 免责声明 关于CandCplus 网站地图