搞不清楚什么是仿函数,什么是伪函数啊?
我的理解是
仿函数是通过重载运算符()
虚函数是由抽象virtual修饰的函数
那伪函数又是什么啊?
在C++中,"仿函数"(Functor)指的是重载了函数调用运算符"()"的类对象。通过重载运算符"()",使得对象可以像函数一样被调用,实现了函数对象的功能。
伪函数(Pseudo-function)是一个没有严格定义的术语,通常用于描述一些看起来像函数,但实际上不是真正的函数的东西。它可能是一种非标准的函数语法、特殊的预处理宏、语法糖等。
所以,你的理解是正确的,仿函数是通过重载运算符"()"来实现函数调用,而伪函数是一个没有明确定义的术语,用于描述不符合传统函数定义的东西。在C++中,我们更常用和讨论的是"仿函数"这个概念。
【相关推荐】
- 普通函数(不能被覆盖)
- 友元函数(C++不支持友元函数继承)
- 内联函数(编译期间展开,虚函数是在运行期间绑定)
- 构造函数(没有对象不能使用构造函数,先有构造函数后有虚函数,虚函数是对对象的动作)
- 静态成员函数(只有一份大家共享)