c++批量函数

第一版

用 T=函数<(&)>;
//实验<整,T>f(向量<T>&a,&b){(&f:a){
        极 e=f(b);打印(e);
    }
}g(&a){
    打印(a);中 真;
}h(&a){
    打印(a);打印(a);中 假;
}

空 主(){
    向量<T>a{g,h};串 e{"只"};
    f(a,e);
}

有效的.可以把函数名批量放进向量里面.

再加1个函数

<动 G>gg(){
    向量<T>a{g,h};串 e{"只"};
    G(a,e);
}//是这样的.

可以这样,是成立的.用G直接调用函数.

批量处理

<类 G,动 F,...M>静 动&批函有(){
    静 向量<G>e{F};(((e,M)),...);中 e;
}//有,代表第1个模板参数给出向量类型.
//不加要求,太麻烦了.<动 F,...M>静 动&批函无(){
    用 G=函针<推导(F)>;中 批函有<G,F,M...>();
}//无函数F的类型.<动 G,动 F,...M>空 批串极(&a){
    静 动&e=批函无<F,M...>();G(e,a);
}//e类型为`用 O=函针<推导(F)>;,向量<O>`

函针实现在此
这样,我们可以:

    批串极<f,g,h>(e);

直接,以函数为参数,来解决批量处理问题.
只需要提供主函数为第1参,然后分函数为剩余参,并按照约定的函数签名,就可以批量函数来处理了.

posted @ 2022-11-17 18:37  zjh6  阅读(35)  评论(0)    收藏  举报  来源