C++双参数包利用方式.

#include <常用>
构 B{f(){
        打印("B");
    }
};
构 C{f(){
        打印("C");
    }
};
构 D{g(){
        打印("D");
    }
};
构 E{g(){
        打印("E");
    }
};<类 M,类 N>
构 A:公 M,公 N{g(){//多态.
        M::f();N::g();
    }
};<整 I,整 J>静 极 为真(整 i,整 j){
    打印(I,J,i,j);(I==i)&&(J==j);
}//I和J是同步增加的.
//如何自动根据类的多少来搞呢?<<,>类 G,...T>构 M{
    静 整 常 S=型长...(T);<类 U,...O,...J>
    静 空 g(整 j,序列<J...>){
        (((J==j)&&(G<U,O>().g(),0)),...);
    }<...O>静 空 f(整 i,整 j){
        静 整 常 U=型长...(O);断定(i<S&&j<U);
        f<O...>(i,j,转序<T...>());
    }//分两步.<...O,...I>
    静 空 f(整 i,整 j,序列<I...>){
        (((I==i)&&(g<T,O...>(j,转序<O...>()),0)),...);
         //先解i包.
    }
};//K为分割空类.

空 主(){
    M<A,B,C>::f<D,E>(1,0);
    M<A,B,C>::f<D,E>(1,1);
    M<A,B,C>::f<D,E>(0,1);
    M<A,B,C>::f<D,E>(0,0);
}

posted @ 2022-02-10 17:41  zjh6  阅读(17)  评论(0)    收藏  举报  来源