#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <functional>
using namespace std;
//1.函数对象
//重载了函数调用运算符()的类 实例化的对象 就叫:函数对象
//函数对象 + () 触发 重载函数调用运算符 执行 ==> 类似函数调用 (仿函数)
//如果函数对象 有一个参数 叫:一元函数对象
//如果函数对象 有二个参数 叫:二元函数对象
//如果函数对象 有三个参数 叫:多元函数对象
class Print
{
public:
void operator()(string str)
{
cout << str << endl;
}
};
void test01()
{
Print ob;
ob("helllo world"); //函数对象(仿函数)
Print()("你好"); //函数对象(仿函数)
}
//2.谓词
//返回值为bool类型的普通函数或仿函数 都叫谓词。
//如果谓词 有一个参数 叫:一元谓词,一般用于查找。
//如果谓词 有二个参数 叫:二元谓词,一般用于排序。
//2.1.一元谓词的使用场景:find_if 条件查找 末尾形参为一元谓词
class GreaterThan10
{
public:
bool operator()(int a) //函数对象(仿函数)作为谓词
{
return a >
C++ 语法 - 22. STL - 数据算法 - 详解
最新推荐文章于 2025-08-13 23:15:00 发布