c++用构来帮助解决两个变参问题
元<整 K,整 N,整 M,整 F,整...I>
常式 动 MM(序列<F,I...>){//M为总数,F为序
序列<I...>t;
如 常式(M%K==N){//不能再加其他(元参数)
如 常式(!(型长...(I)))中 序列<F>();
异 中 连序<F>(MM<K,N,M+1>(t));
}异{//如何再抽象(一个判别式,一个参数)
如 常式(!(型长...(I)))中 序列<>();
异 中 MM<K,N,M+1>(t);
}//加上过滤.
}
元<整 I,整 M,整 N>构 模呀:整常<极,I%M==N>{};
元<元<整...>类 G,整...T>构 基动作{
元<整 M,整 F,整...I>
静 常式 动 动作(){
常式 整 N=型长...(I);
如 常式(G<M,T...>::值){//判断.
如 常式(!N)中 序列<F>();
异 中 连序<F>(动作<M+1,I...>());
}异{
如 常式(!N)中 序列<>();
异 中 动作<M+1,I...>();
}//加上过滤.
}};
第1个正确,第2个更抽象.
浙公网安备 33010602011771号