簡體   English   中英

在 C++ 中移植 .NET 代表的最佳方式

[英]Best way of porting .NET delegates in C++

我正在做一個簡單的移植項目,其中一些 .NET api 代碼需要轉換為 C++ 代碼。 這里沒有 GUI。 我對決定轉換代表的最佳方式有點困惑。 如果您分享您的想法以幫助我決定是否簡單地用 function 指針替換委托,或者應該實現一些觀察者模式,這將很有幫助。 由於某些原因,我不能使用任何第三方庫,如 Boost。 因此,從設計概念上考慮,我更喜歡一些實現起來非常簡單但又非常高效和好的東西。

謝謝。

Don Clugston 的Fast Delegates是 C++ 中代表的熱門選擇。 它們遠非簡單,但您應該能夠輕松地將代碼復制並粘貼到您的項目中。 我不是 C# 代表的專家,所以我不確定它們從那里移植的難易程度,但它們很有效,並且應該涵蓋大多數用例。

你的編譯器是最新的嗎? 它有 C++0x 特性嗎? 您可以使用 C++ 標准庫嗎? 如果您有 C++0x 並且可以使用 STL,則 std::function* 與 C# 委托最相同。 否則,您將不得不使用 function 指針或滾動您自己的觀察者模式。

*與升壓 function 相同,但由於某種原因,您不能使用升壓。

嘗試關注,新的更新也在路上。 您不需要向項目中添加大量文件。

http://sourceforge.net/projects/eventchain/

我制作了自己的事件處理系統 這很簡單。 我只是遵循了 C++ 的基本知識。 我認為一旦 C++0x 得到確認,人們會享受更多的自由。 現在我相信它是相當可取的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM