C 的函数指针只能表示普通函数地址。C++ 中,普通函数、函数对象、lambda 和成员函数包装都可以成为“可调用对象”,让行为更容易作为参数传递。
最小 lambda
const auto square = [](int value) {
return value * value;
};
int result = square(5);
2026/7/18大约 3 分钟
C 的函数指针只能表示普通函数地址。C++ 中,普通函数、函数对象、lambda 和成员函数包装都可以成为“可调用对象”,让行为更容易作为参数传递。
const auto square = [](int value) {
return value * value;
};
int result = square(5);
前几章已经知道:指针变量保存对象地址,解引用可以访问那个对象。接下来要处理两个常见问题:函数怎样修改调用者的指针,以及代码怎样把“要执行的函数”作为数据传递。
int value = 10;
int *p = &value;
int **pp = &p;