c++ - 在 C++ 中移植 .NET 委托(delegate)的最佳方式

标签 c++ delegates function-pointers observer-pattern

我正在开发一个简单的移植项目,其中一些 .NET api 代码需要转换为 C++ 代码。这里没有 GUI。我对于决定改变委托(delegate)的最佳方式有点困惑。如果您分享您的想法以帮助我决定是简单地用函数指针替换委托(delegate)还是应该实现一些观察者模式,这将会很有帮助。由于某些原因,我无法使用任何第三方库,例如 Boost。所以我更喜欢一些实现起来非常简单,但从设计理念上考虑却非常高效和良好的东西。

谢谢。

最佳答案

唐·克拉格斯顿的Fast Delegates是 C++ 委托(delegate)的热门选择。它们远非简单,但您应该能够轻松地将代码复制并粘贴到您的项目中。我不是 C# 委托(delegate)方面的专家,因此我不确定从那里移植它们有多容易,但它们很高效,并且应该涵盖大多数用例。

关于c++ - 在 C++ 中移植 .NET 委托(delegate)的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6324288/

相关文章:

c# - 在 C# 中编写多播委托(delegate) - 我应该使用运算符还是 Action.Combine?

c++ - "a value of type "void (exeCallback::*)(int) "cannot be assigned to an entity of type "void (*)(int) ""

c++ - 我正在寻找可以在图形编辑程序中进行的任何优化

c++ bufferoverflow 执行顺序

c# - 委托(delegate)的可选参数不能正常工作

javascript - jQuery 的 .on 函数似乎不喜欢 'load' 事件

c++ - 如何将函数指针传递给此函数

c - 将二维数组传递给 c 中的函数

c++ - 一种更改正在运行的程序的有效用户 ID 的方法?

c# - 如何将对象列表从 C++ 传递到 C#?