函数对象既是比函数指针要好,为什么还使用函数指针

函数对象既然比函数指针要好,为什么还使用函数指针?
既然函数对象比函数指针好,那么为什么不淘汰函数指针,还要用函数对象呢?

------解决方案--------------------
引用:
总结一下,函数指针是为C语言设置的,函数对象是为C++设置的,请反驳我。


不能这么说的,函数对象并不仅仅只有类一种形式,函数指针本身也属于函数对象,所以C其实也存在函数对象。

只不过一般都把带()重载的类说成是函数对象,你可以将之理解为严格意义上的函数对象。

称函数对象比函数指针性能好,是因为函数指针对象调用函数时多了一层间接性;而函数对象编译后就是直接的函数形式了;

函数对象比函数指针好的另一方面是函数对象带有状态,而且可以从类机制中得到很大的好处,所得到的弹性、扩展性、复用性是函数指针无法比拟的。