奉献给各位一个小东西:class Gotter(一)

奉献给各位一个小东西:class Gotter,它从一个异质容器里找到你要的那个东西,代码如下: #include #include using std::vector; using std::binary_function; template > struct Gettor:public binary_function { result_type operator()(Container& C)const { result_type result; for(Container::iterator CI = C.begin(); CI != C.end(); ++CI) if( result = dynamic_cast(*CI) ) return result; return 0; } }; 如果Container里存放的是Base*, 并且Base有至少一个虚函数,那么你就可以用Gotter来找到Derived. 这样一个小东西做起来很容易,但是却十分有用,将它加如某个通用库一点也不过分,但是stl和loki 都没有,我孤陋寡闻,没见过boost,不知道boost有没有类似的东西。它肯定被某些人实做过,我不知道 而已,但是我还是乐于将它贴出来和大家分享。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值