C++顺序或逆序启动
看看,这种情况:
如(i){//i为0或1
动作<0>a;中;
}
动作<1>a;//相反
是不是觉得很难看,借助简单的顺序/逆序启动来重构它:
元<元<整>类 G,整...I>
空 顺序启动(序列<I...>,整 i){
(((i==I)&&(G<I>(),0)),...);
}//构也是函数.
元<元<整>类 G,整 N>空 顺序启动(整 i){
顺序启动<G>(转序<N>(),i);
}
逆序也比较简单:
元<元<整>类 G,整...I>
空 逆序启动(序列<I...>,整 i){
静 常式 整 N=型长...(I);
(((i+I+1==N)&&(G<I>(),0)),...);
}//构也是函数.要加个1.不然0+1!=2
//不要求是静态函数.只是这里I第1个为0.
元<元<整>类 G,整 N>空 逆序启动(整 i){
逆序启动<G>(转序<N>(),i);
}
现在,你可以用
逆序启动<动作,2>(i);
//或者:顺序启动<动作,2>(i);
来替换前面的一块代码了,是不是爽?
浙公网安备 33010602011771号