我正在使用 C++11 开发一个小型数学优化框架,我想知道用户提供特定领域逻辑的最佳方式是什么。我可以强迫她使用框架可以调用的钩子方法来定义类,但我想保持精简并尽可能利用新的 C++11 工具。所以我正在考虑接受std::function
可能从 lambda 表达式实例化的对象作为参数,并在需要时调用它们。我想知道的唯一想法是编译器(在我的情况下是 gcc,但我也想了解 Xcode 和 Visual C++)是否能够获取 std::function 对象并内联函数定义,以便它们与其余代码一起优化。
PS:从评论看来,我的问题的第一次修订对大多数用户来说都是模糊的,这可能是我使用不正确语言的错。所以我改写了它,我希望有人能理解我在这里试图传达的概念(并可能提出解决方案)。
PPS:有人建议使用模板,这是我考虑过的一个想法,但我想知道是否有替代方案。我对模板没有任何反对意见,但我计划在这个版本工作后立即制作一个基于模板的版本,因为我发现根据动态对象进行推理更容易。