函数对象
class A
{
public:
int operator() (int val)
{
return val > 0 ? val : -val;
}
};
int main()
{
A a;
cout << a(-10); // 10
return 0;
}✏️ 1、不同函数复用相同处理代码
🖋️ 1.1、C语言的处理方式
🖋️ 1.2、C++语言的处理方式
🐹 1.2.1、函数指针方式
🐹 1.2.2、函数模板方式
🐹 1.2.3、仿函数方式
🐹 1.2.4、仿函数模板方式
✏️ 2、优势
🖋️ 2.1、函数对象和普通函数
🖋️ 2.2、函数对象与函数指针
🖋️ 2.3、函数对象与Lambda表达式
✏️ 3、使用场景
🖋️ 3.1、自定义排序规则
🖋️ 3.2、谓词函数
最后更新于