c++通过碰碰函数,实现运转编

代码如下:

元<元<整...>类 G,整...K>
空 碰碰(序列<K...>a,序列<>){G<K...>::动作();}
//.4这里基础动作.//最后一步.
元<元<整...>类 G,整...A,整...B,整...I,类 F,类...J>要求(都是<整,F,J...>)
空 碰碰(序列<A...>a,序列<B...>b,F f,序列<I...>,J...i){//.3
    (((f==I)&&(碰碰<G>(加尾<I>(a),去头(b),i...),0)),...);
}//N为每次迭代个数.碰碰往下面下疳.
//A序列为保存内容,b序列为每个的N,

元<元<整...>类 G,整...A,整...B,类 F,类...J>
要求(都是<整,F,J...>)
空 碰碰(序列<A...>a,序列<B...>b,F f,J...i){//.2
    碰碰<G>(a,b,f,转序<取头(b)>(),i...);
}//N为每次迭代个数.
//N是逐渐拆分的
元<元<整...>类 G,整...N,类...J>
要求(都是<整,J...>)
空 碰碰(序列<N...>a,J...i){//.1
    断定(型长等(N,J));
    碰碰<G>(序列<>(),a,i...);
}//如何传递上个结果至下个?

下面是测试代码:

元<整...I>构 E{//反正都是运行时.
    静 空 动作(){
        打印序列(序列<I...>());
    }//通过实现这里的E,来实现你的功能.
};
空 主(){//常式是不能通过有i的变量来得到的.
    整 i=3,j=2,k=2;
    碰碰<E>(序列<4,4,3>(),i,j,k);
    //重要的是,提供E.
}

我们,需要的是完成E的动作.然后如上调用碰碰函数,就可以了.
.1为入口,要思考的就是如何传递上个结果至下个.这就是为何碰碰的第一个参数为序列<I...>,由它来保存序列,要求编译时/运行时长度相同,因而型长等(N,J).
.2是取第一项,取出序列i运行时中的第一项.运行时用f,i...来提取.序列直接用函数提取.他们f与取头(b)的顺序可以交换.然后注意的是转序<取头(b)>,开始的时候写成了序列<取头(b)>,虽然编译通过,但啥都没发生,就是这里应该是转序.通过转序<N>(),生成下个函数中的序列<0,1...N-1>(),然后就可以展开了.
.3代码:

(((f==I)&&(碰碰<G>(加尾<I>(a),去头(b),i...),0)),...);

前面是比较,相等的话,就转至后面函数.后面则是调用同名函数,继续碰碰,这里把得到的I保存至第1个参数中,f与序列消掉了,再去掉b的头,于是,又来到了.2函数.
然后不断的,.2.3来回碰碰.最后都消掉了,所有的运行时整数,都转成编译时的I了,保存在第1个参数中.
.4代码,就是最后出口函数.我们只需要写E,然后,调用碰碰函数就可以实现我们想要的功能了.

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