|
|
1
5
如提振中所述
documentation
,调用
|
|
|
2
1
boost::function使它成为tr1,所以它在现代编译器上是std::tr1::function,在 真正地 现代编译器。 在任何情况下,正如您所观察到的,std::function都有非零的创建开销(包括创建对象的副本)。理论上,它的开销应该与原始函数指针的调用开销相同;也就是说,有一个级别的间接寻址——但真正聪明的编译器可以内联该级别的间接寻址。 当然,有些东西可以存储在std::函数中,但它们不适合或存储在函数指针中。 |