C++-仿函数与函数指针
函数指针
指向函数存储内存地址的指针
1 | // 创建一个 无参返回值为int 的函数指针 |
把函数赋值给函数指针
1 | int func1(){ |
通过函数指针调用函数
1 | int func3(int x){ |
把函数作为参数传入另一个函数
1 | int add(int a, int b){ |
仿函数
仿函数由来
- 是代替 函数指针 的手段
- 定义一个类,类里面重载函数运算符(),将该类的对象作为函数的入参,那么在函数中同样能调用重载符()里面的方法
- 所以说,仿函数就是仿造的函数,它并不是一个真正意义上的函数。它是一个类中的运算符()重载,但它具有函数的功能。
1 | class Compare { |
作用
- 在STL库中十分常见
sort() 与 priority_queue 中的用法
1 | typedef pair<string, int> PAIR; |
greater源码
是一个仿函数
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Escapeey`Blog!
评论