📅  最后修改于: 2023-12-03 15:29:53.986000             🧑  作者: Mango
std::minus
是C++标准库中的一个函数对象,它可以在两个参数之间执行减法操作。它是在头文件<functional>
中定义的。
std::minus
通常用于在算法中作为一个二元函数对象,以对计算进行更为灵活和通用的控制。 它的语法如下:
template <class T>
struct minus;
template <class T>
constexpr T operator()(const T& a, const T& b) const;
其中,T是两个参数的数据类型。operator()
是执行减法运算的函数调用运算符,它返回a - b,即第一个参数减去第二个参数。
示例:
#include <iostream>
#include <functional>
int main()
{
std::minus<int> minusObj;
int result = minusObj(5, 3);
std::cout << "5 - 3 = " << result << std::endl;
return 0;
}
输出结果:
5 - 3 = 2
可以使用std::bind
将std::minus
组合成要传递的函数:
#include <iostream>
#include <functional>
int main()
{
auto minus2 = std::bind(std::minus<int>(), std::placeholders::_2, std::placeholders::_1);
std::cout << "10 - 20 = " << minus2(10, 20) << std::endl;
return 0;
}
输出结果:
10 - 20 = 10
std::minus
是C++中一个非常方便的函数对象,可以使计算更加灵活和通用。它可以作为二元函数对象的一部分,一起使用std::bind
等函数进行组合使用。