📜  C++中的std :: minus(1)

📅  最后修改于: 2023-12-03 15:29:53.986000             🧑  作者: Mango

C++中的std::minus

简介

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::bindstd::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等函数进行组合使用。