c++参数循环移动

//要把<0,1,...N>变成<m,m+1,...N,0,1,...m-1>
//
元<整 N,整 M,型名 F,型名 T,整...O>
空 前移(F&f,序列<O...>&x,T&t){
    f(取<(O+M)%N>(t)...);//(n+m)%n,O为变量
}//左右移是一样的,往左移,就是往右移
元<整 M,型名 F,型名...C>
空 前移(F&f,C&&...o){
    用 T=元组<C...>;T t{o...};
    常式 整 N=元组大小<T>::值;
    型名 造序<N>::型 p;前移<N,M,F>(f,p,t);
}//类型参数变成元组,元组->序列->f()
空 测试(串&c,整 i,串&b,整 j){
    打印(c,i,b,j);
}
空 主(){
    //元组<整,串,整,串>t{345,"355",899,"3473477"};
    //测试2<3>(t);//此时把最后一个变成第一个
    //元组<整,串,整,串>t{345,"355",899,"3473477"};
    整 i=2354,j=34;
    串 a{"3544"},b{"8887"};
    打印("输入",i,b,j,a);
    前移<1>(测试,i,b,j,a);
}

无法从“overloaded-function”转换为F&,将重复的文件名给去掉,即不要重载.
在模板中不能使用具有重载名的函数,不认识啊,
比如元<型名 F>空 测试(F&&f),这里用具有多个重载的函数来试,可能就不行.
没必要优化无序映<串,串>,其必然是个指针.没必要指针的指针.返回这个,其实返回的是指针.或者叫引用.

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