C++實現事件委托機制:相信玩過.net的人都會對.net的事件與委托機制有著深刻的印象。因為.net的事件委托機制為對象通信提供了非常的便利。相比之下,Qt的信號與槽機制,JAVA的事件監聽機制則要若很多,JAVA編碼麻煩,Qt邏輯繁瑣.
既然.net的事件委托機制是那麼完美,玩c++的我們自然就想:能不能在c++裡面也實現這樣一套機制呢.其實是可以的
關於如何用c++實現事件委托機制,網上有很多說法,我在茫茫網海中游歷了一圈,可惜所遇到的"事件與委托的小船"長的實在太丑,不堪入目;於是我就想打造一艘漂亮的小船。
幾經努力,終於在今天把小船造好了,下面是艷照,先睹為快:
該小船的使用方法和.Net的沒有區別,即用Delegate定義一個委托類型,在用該委托定義一個委托實例。直接調用委托實例可觸發事件,調用委托實例的+=操作符可向委托注冊事件處理器。