天天看点

在d中,策略思想可扩展至函数

​策略​

​​思想不仅可应用至​

​类​

​​,还应可应用至​

​函数​

​​,甚至可以是​

​变量​

​​!

​​

​C++​

​​没有​

​函数模板​

​​作为​

​插件​

​​的功能,非常不​

​方便​

​​!

但是,​​

​D​

​​中是有的!这样​

​策略类​

​​思想不仅可应用至​

​类​

​​,还可应用至​

​函数​

​!

导入 标.标口;

整 h(整 I,T)(T b){中 I*b.长度;}

空 g(用 h,整 I,T...)(T t){
    每一(p;t)写行(h!I(p));
}//h为策略函数,

空 主(){
    串 a="ab",b="cd";
    g!(h,2)(a,b);
}      

​h​

​​模板函数,用作​

​插件​

​,非常方便!

​策略​

​​可以说是​

​模板​

​​的​

​核心​

​​!​

​函数模板/类模板​

​​作为​

​策略​

​​插件提供多态,这样的能力是​

​无与能比​

​​的!

抽象出来​​

​函数模板​

​​与​

​类模板​

​​,作为单独的​

​插件​

​​,这样的​

​功能​

​​是非常强大的!

而这里,​​

​C++​

​​是无能为力的,​

​C++​

​​一直不重视​

​函数模板​

​​,​

​函数模板​

​​的功能就是个​

​半吊子​

​​!

因为你不能像D:

用 T=h!2;      
用 T=h<2>;      

继续阅读