仿函数通常比函数指针更快?该怎么解决

仿函数通常比函数指针更快??我看c++标准程序库 那本书仿函数那一节说 仿函数通常比函数指针更快??为什么?[

仿函数通常比函数指针更快??
我看c++标准程序库 那本书
仿函数那一节说 仿函数通常比函数指针更快??
为什么?

[解决办法]
就是因为 inline 吧,函数指针很难 inline 的。inline 不仅仅省略仿函数函数调用的开销,也使得编译器能够将仿函数函数体中的语句直接展开在调用端,为更深入的全局优化提供基础。
[解决办法]
另外,仿函数几乎没什么构造,尤其是展开后再经全局优化,所谓的构造几乎就是 no-op.
[解决办法]

探讨

你好,为什么 函数指针不可以 inline???


函数指针也无非指向一个函数

调用的时候,其实是调用函数的




引用:

就是因为 inline 吧,函数指针很难 inline 的。inline 不仅仅省略仿函数函数调用的开销,也使得编译器能够将仿函数函数体中的语句直接展开在调用端,为更深入的全局优化提供基础。