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 @   zjh6  阅读(23)  评论(0编辑  收藏  举报  
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示