0

我想调用一个函数g(来自第 3 方库),该函数将指向函数的指针作为输入f。这个函数指针f本身就带有一些参数。

由于我的函数f依赖于数据并且我不能将此数据作为参数传递(引用)给函数f,因为我需要f使用函数指针中使用的签名来实现,所以我想做以下两件事之一:

  • 实现f为类的(非静态)成员函数
  • 实现一个辅助函数fHelper,该函数接受附加参数,然后构造一个函数指针(但不是函数对象),该函数指针具有使用的函数指针的签名,并使用绑定到特定值的附加参数进行g调用。fHelper

从设计的角度来看,第三种既不是线程安全的也不是可接受的解决方案是使用全局变量。

我已经看过boost:bindstd::mem_fun不明白这些概念在这种情况下是否有效。我非常感谢一个有启发性的答案,可能还有一些关于通常如何处理这种情况的背景知识。

4

0 回答 0