如何在函数指针中包含参数?
这段代码创建了一个可以添加两个整数的函数指针:
int addInt(int n, int m) {
return n+m;
}
int (*functionPtr)(int,int);
functionPtr = addInt;
(*functionPtr)(3,5); // = 8
例如,我想制作一个第一个参数始终为 5 的函数指针,以便该函数接受一个 int 并添加 5。另一个第一个参数是 8 的。
这可以使用 addInt
吗?像这样的东西:
// make-believe code that of course won't work
int (*functionPtr)(int);
functionPtr = addInt(5);
(*functionPtr)(3); // = 8
(*functionPtr)(9); // = 14
最佳答案
像这样使用 std::bind
:
using namespace std::placeholders;
auto f = std::bind(addInt, 5, _1);
f(1); //returns 6
关于c++ - 如何在函数指针中包含参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28982556/