C++ 写C++;使用函数指针绑定到C接口?

C++ 写C++;使用函数指针绑定到C接口?,c++,c,c++11,binding,function-pointers,C++,C,C++11,Binding,Function Pointers,有一些有用的C库。我想用C++在这个库中写绑定。但C API使用了很多函数指针,可以在C++ API中有效地用 STD::函数< /> >代替.< 由于std::function不能转换为原始函数指针,我不知道该怎么做 我的选择: 强>使用C++ API 中的函数指针——这非常丑陋,怀疑C++绑定的全部要点。 重写原始C内部的一些部分——那么它就不是真正的绑定,因为我需要维护更多的代码,而不仅仅是API 还有其他选择吗?函数指针本身没有问题。另一方面,std::function是一个很重的

有一些有用的C库。我想用C++在这个库中写绑定。但C API使用了很多函数指针,可以在C++ API中有效地用<代码> STD::函数< /> >代替.< 由于
std::function
不能转换为原始函数指针,我不知道该怎么做

我的选择:

    强>使用C++ API <强>中的函数指针——这非常丑陋,怀疑C++绑定的全部要点。
  • 重写原始C内部的一些部分——那么它就不是真正的绑定,因为我需要维护更多的代码,而不仅仅是API


还有其他选择吗?

函数指针本身没有问题。另一方面,
std::function
是一个很重的专用工具,您可能不应该随便使用它来处理任何事情。@KerrekSB我将无法使用lambdas和
std::bind
-这不是一件好事。C++ API的一个原因是某种“舒适”。当然,为了提高效率,我可以使用函数指针来保留重载?如果不是,你就不走运了。@R.MartinhoFernandes有些函数有,有些没有。C API是否给你一个(void*)用户数据参数?