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 @   zjh6  阅读(12)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示