一直以来总觉的C#的委托机制很好用。因为主要是做C++开发的。所以总是在想能不能在c++下实现下委托机制。先前也实现过几个版本。有的是通过传入对象指针和成员函数的指针的方式,有的是通过模板方式实现的。但这些实现都是在使用是显得很麻烦。要不写出的代码很臃肿。这和我一向的风格很不一致。研究了很久终于有了又一个更好的方案。不敢独享。让大家来指点一下。 代码如下:
使用举例: class CTest { public: LRESULT OnDoSomething(WPARAM w, LPARAM l){return 0;} } 在某处要用到时 CTest aTest; Delegate doSomethingDelegate; doSomethingDelegate += MemberPointer(&aTest, &CTest::OnDClose);
调用 doSomethingDelegate(0xff, 0xff); |
(转)C#的委托机制的C++的一种实现
最新推荐文章于 2016-08-31 23:05:00 发布