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参,然后分函数为剩余参,并按照约定的函数签名,就可以批量函数来处理了.
浙公网安备 33010602011771号