利用C++的模板模拟.net的代理语法

来源:互联网 发布:淘宝店铺关注人数排名 编辑:程序博客网 时间:2024/04/30 06:07

用了一段时间.net的代理模式,觉得挺好使.且原来C++代码中存在大量需要代理的东西,由于没有近似的东西,都是靠接口实现的,看起来很别扭.遂想我是不是也能做这么一个东西.

boost的function不是很熟悉,但基本实现还是明白的.直接用boost::function的话,有点杀鸡用牛刀的感觉,因为我仅仅只要一个很小很小的代理语法而已.况且,这么多年过去了,写C++代码越来越没有激情,正好有这么个契机,给自己来点激情.

废话不多说,看代码(别看注释,没有注释,看不懂就去看boost::function去)

 

vfxdelegate.h

 

vfxdelegate.inl

 

使用案例:

 

注:stl::vector<>是std::vector<,VFX::alloctor>的typedef。因此,你只需要把stl替换成std就可以了