c++类模板限定,继承是关键点.

<整 M,...I>常式 动 连序(序列<I...>){
    中 序列<M,I...>();
}<整 F>构 为0:假型{};<>构 为0<0>:真型{};<型名 T>构 只3:假型{};<>构 只3<>:真型{};<>构 只3<>:真型{};<>构 只3<>:真型{};
//上面太难看了,要不得,要像下面这样
//元<整 F>常式 极 为0(){中 F==0;}
//这样是不行的,不支持<函数模板>,无论怎么搞,搞不了,得让标准支持他们.大神说是支持函数模板的.有空试试<<>类 G,整 F,...I>常式 动 去(序列<F,I...>){
    //必须写成`类 G`,否则报C3339,
    //模板模板参数列表...
    如 常式(型长...(I)==0){//可以试试d的模板.
        如 常式(G<F>::)中 序列<>{};
        异 中 序列<F>{};
    }{//G<F>,这里都是整数,所以用F,
        序列<I...>t;
        如 常式(G<F>::)中 去<G>(t);
        异 中 连序<F>(<G>(t));
    }//去第一个,//争取替换掉F==0;
}//去掉含0元素,(把F==0)条件替换掉可产生一堆函数
//只能应用于整数<型名 F,型名...I>构 在中:假型{};<型名 F,型名...I>构 在中<F,I...>:元或<是相同<F,I>...>{};
//这样写,继承{}.搞了半天,这样写
//类模板<限定>.用继承.<型名 T>用 在呀=在中<T,,,,>;<<型名 B>类 G,整 M,型名 F,型名...I>
常式 动 去(){//要有个M.
    如 常式(型长...(I)==0){
        如 常式(G<F>::)中 序列<>{};
        异 中 序列<M>{};//这里要改
    }{//这里M为整数,
        如 常式(G<F>::)中 去<G,M+1,I...>();
        异 中 连序<M>(<G,M+1,I...>());
    }//参数,要加个整,要仔细,吃了2次亏都在这个M上.
}//改了下型名.没有了序列参数.运行参->编译时参了.



下面是测试代码:
```cpp
构 啊{};

空 主(){
    序列<1,0,0,3,4>m;
    动 o=<0>(m);
    动 t=<在呀,0,,,,,,>();
    //构,无法实现过滤.
    打印序列(o);
    打印序列(t);//通过序列就可以搞事情了.
}//打印序列变量写错了,,让我一直在正确的代码里打圈圈


posted @ 2020-05-31 21:19  zjh6  阅读(29)  评论(0)    收藏  举报  来源