C++11 引入了 std::function 和 lambda 表达式,使得编写C++非常简洁和灵活。然而,使用这些特性时,性能问题常常是开发者关注的重点。接下来,我们一起来探讨下std::function和labmda表达式的效率问题。
std::function 通常用于定义一个函数接口,而具体的实现可以是任何符合签名的可调用对象。
#include
#include
void myFunction(int a) {
std::cout << "Function called with " << a << std::endl;
}
int
main(int argc, char** argv) {
std::function func = myFunction;
func(10);
return 0;
}
main(int argc, char** argv) {
std::function func = [](int a) {
std::cout << "Lambda called with " << a << std::endl;
};
func(10);
return 0;
}