c++用λ来替换宏

如下,经常由于.S成员,而不得不用:

#define 求和基(T,S) \
    整 求和(向量<T>&){ \
        整 i=0;(&t:)i+=t.S;中 i; \
    }

实在是太不爽了.是吧,现在,我们用模板:

<类 T=>构 求和基{
    整 切换(向量<T>&){
        整 i=0;(&t:)i+=每项(t);中 i;
    }
保护:
    虚 整 每项(T&t){中 t;}
    //默认,实现每项,就可使用切换.
};

这样,我们只需要继承求和基,并实现每项,就可以达到对某个类群体的某个成员操作的目的.是不是模板方式,更爽一点!
改成λ版了,用模板实在是太麻烦了:

<类 T=,类 F>整 求和基(向量<T>&,F&f){
    整 i=0;(&t:)i+=f(t);中 i;
}
posted @ 2022-07-18 16:10  zjh6  阅读(20)  评论(0)    收藏  举报  来源