为什么函数对象比C ++中的函数更快?

时间:2014-08-18 11:01:17

标签: c++ optimization lambda compiler-optimization

我阅读了C ++编码标准(Herb Sutter和Andrei Alexandrescu)以及下面的两篇文章。

直观地说,与函数相比,函数对象具有额外的开销,因为它是C ++中的对象。但是,似乎函数对象调用通常优于函数调用。我知道内联是函数对象提供的优化之一。

所以我的问题是:

  1. 为什么功能对象如此之快?这是因为内联吗?

  2. 如何实现函数对象?是否在编译时转换为普通函数调用?或者运行时逻辑有什么不同吗?

  3. 是否存在函数对象比函数慢的情况?

  4. Detailed difference between functor's call and function call?

    When do you use function objects in C++?

0 个答案:

没有答案