c++看懂部分特化

元<类 M,类 N>构 H{};
元<整 I,类...M>构 MM{};
元<整 I,类...M>构 NN{};
元<整 M,整 N,类...A,类...B>
构 H<NN<M,A...>,MM<N,B...>>{
    空 f(){
        用 S=取型<M,A...>::型;
        用 T=取型<N,B...>::型;
        S().f();
        T().g();
    }
};

空 主(){
    H<NN<0,B,C>,MM<1,D,E>>().f();
}

只有使用过一次才有感觉.用部分特化来处理两个参数包.

构 H<NN<M,A...>,MM<N,B...>>{

这里表明,H需要两个类型参数.分别为NN,MM.

    H<NN<0,B,C>,MM<1,D,E>>().f();

上面这样实例化,用的不是H<M,N...>来实例化,而是用H<NN<0,B,C>,MM<1,D,E>>().f();来实例化.这些都是细节.用两个不同包装来特化.
这里,NN<M...>不能直接在前面加上数字,而要在NN的类型前面如下,加上数字.

元<整 I,类...M>构 NN{};
//加个I.

C++部分特化,就是这样.

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