请讲一下c++中的function函数作用
时间: 2024-03-09 14:48:46 浏览: 18
在 C++ 中,function 是一个通用的函数封装器,可以存储、复制和调用任何可调用对象,例如函数、函数指针、Lambda 表达式等等。它能够让我们以一种通用的方式处理函数或函数对象,而不必在编写代码时考虑它们的具体类型。
使用 function 函数可以实现类似于回调函数、事件处理程序和函数指针数组等功能。例如,我们可以将 function 对象作为参数传递给其他函数,或者将它们存储在 STL 容器中,以便在需要时随时调用。
function 函数的使用需要包含头文件 #include <functional>,并使用 std::function 类型定义函数对象。例如:
```cpp
#include <functional>
#include <iostream>
int add(int a, int b) {
return a + b;
}
int main() {
std::function<int(int, int)> func = add;
std::cout << func(1, 2) << std::endl; // 输出 3
return 0;
}
```
在上面的示例中,我们定义了一个 add 函数,然后使用 std::function 类型定义了一个函数对象 func,它可以接受两个 int 类型的参数,并返回一个 int 类型的值。我们将 add 函数赋值给 func 对象,然后通过调用 func(1, 2) 来执行 add 函数并输出结果。
总的来说,function 函数在 C++ 中非常有用,它可以帮助我们更加方便地处理各种类型的函数和函数对象。