C++ function 可调用对象包装器、绑定器
文章目录
可调用对象
在 C++ 中,可调用对象(Callable Object)是指可以像函数一样调用的对象。可调用对象包括但不限于以下几种类型
函数指针
- 指向函数的指针,可以用来调用函数。
void func(int x) {
std::cout << "Value: " << x << std::endl;
}
int main() {
void (*func_ptr)(int) = func;
func_ptr(10); // 调用函数
return 0;
}
函数对象(Functor):
- 具有
operator()
的类实例,可以像函数一样调用。
class Adder {
public:
int operator()(int a, int b) {
return a + b;
}
};
int main() {
Adder adder;
int result = adder(5, 3); // 调用函数对象
std::cout << "Result: " << result << std::endl;
return 0;
}
Lambda 表达式:
- 一种匿名函数,可以在代码中直接定义和使用。
int main() {
auto lambda = [](int a, int b) {
return a + b;
};
int result = lambda(5, 3); // 调用 Lambda 表达式
std::cout << "Result: " << result << std::endl;
return 0;
}
成员函数指针:
- 指向类成员函数的指针,需要与类实例一起使用。
class MyClass {
public:
void print(int x) {
std::cout << "Value: " << x << std::endl;
}
};
int