目录

STL - 函数对象

函数对象

函数对象概念

概念:

本质:

函数对象(仿函数)是一个,不是一个函数。

函数对象使用

特点:

谓词

谓词概念

概念:

内建函数对象

内建函数对象意义

概念:

分类:

用法:

算术仿函数

功能描述:

仿函数原型:

原型 说明
template<class T> T plus<T> 加法仿函数
template<class T> T minus<T> 减法仿函数
template<class T> T multiplies<T> 乘法仿函数
template<class T> T divides<T> 除法仿函数
template<class T> T modulus<T> 取模仿函数
template<class T> T negate<T> 取反仿函数

示例:

#include <iostream>
#include <functional> // 必须包含头文件
 
void test01() {
    // negate 一元仿函数 取反
    std::negate<int> n;
    std::cout << n(50) << std::endl; // 输出 -50
 
    // plus 二元仿函数 加法
    std::plus<int> p;
    std::cout << p(10, 20) << std::endl; // 输出 30
}
 
int main() {
    test01();
    return 0;
}