当前位置: 首页 > news >正文

泛型编程

template<std::same_as<int>...T>
int sum(T...args){auto s = (args+...+0);return s;
}template<typename... Ts>
auto make_tuple(Ts ...args)   -> decltype(std::tuple<Ts...> t(args...)) //c11 写法
auto make_tuple(Ts ...args)  //c14 自动推导
{std::tuple<Ts...> t(args...);return t;
}template<std::convertible_to<double>... Ts> //可转成double
void f(Ts ...args){std::vector<double>t{1.0+(args)*{args}...};for(auto v:t){cout<<v<<endl;}cout<<"sizeof...(args)"<<endl;
}
int main(){f(1,2.0f,3,4,1);return 0;
}template<typename ...Base>
class Myclass:public Base...{public:Myclass():Base()...{}
};
int main(){Myclass<BaseClass1,BaseClass2>mc;
}template<typename ...Ts>
void print_fold(Ts...args){((cout<<args<<endl), ...);
}void print_recursion(const auto &first, const auto & ...rest){cout<<first<<endl;if constexpr(sizeof...(rest)>0) {print_recursion(rest...);}}//使用常量n进行索引
auto f(auto ...args){const int n=sizeof...(args);cout<<args...[n]<<endl;
}template<std::size_t I,typename...Args>
auto element_at(const Args &...args){static_assert(I<sizeof...(args),"Index out of bounds");return std::get<I>(std::forward_as_tuple(args...));
}//递归方式获取。
template<std::size_t I,typename T, typename...Args>
auto element_at(T arg0, const Args&... args){static_assert(I<1+sizeof...(args),"Index out of bounds");if constexpr (I==0)return arg0;elsereturn element_at<I-1>(args...);
}
//c++26
template<std::size_t I, typename ... Args>
auto element_at_1(const Args&...args){return args...[I];
}int main(){cout<<element_at<3>(1,2.0,'c',"string")<<endl;return 0;
}

 

http://www.jsqmd.com/news/322953/

相关文章:

  • 大模型开发者的内功心法:信号处理与信息论如何颠覆AI编程,小白也能秒懂!
  • 用极狐 CodeRider-Kilo 构建俄罗斯方块:AI 辅助编程的沉浸式体验
  • 保研信息汇总
  • 大航海时代ol台服找Call记(三) 与NPC对话进出码头Call
  • 大模型“开挂“指南:RAG技术万字长文,手把手教你构建专属知识库,代码示例直接抄!
  • 代码已打包!RAG智能索引实战:从传统分块到混合索引的进化论
  • 无人机视角农村房屋建筑损伤长植物返潮裂缝检测数据集VOC+YOLO格式1304张5类别
  • [RE2] Prog对象(字节码) | Inst指令序列 | 字节映射和指令扁平化 - 详解
  • 谷歌云这10个AI Agent开发技巧,小白也能秒变代码大神,996都拜拜了!
  • 【AI办公自动化】如何使用Python来批量自动化处理图像
  • 预训练任务全解析:从掩码语言建模到多模态学习
  • 使用vue时的一些注意事项
  • 别再被“智能体”忽悠了,AI的尽头是让工具回归实用
  • 2026年口碑好的刮研品牌推荐,高精度电动刮研刀工厂解析
  • 2026年度专业深度测评:礼品定制公司排名前五权威发布
  • day 17|654.最大二叉树 617.合并二叉树 700.二叉搜索树中的搜索 98.验证二叉搜索树
  • 高精度乘法
  • linux 使用Xcb监听窗口
  • 【笔记】【股票小白入门5-股票界面】
  • linux 使用Xcb监听键盘鼠标输入
  • 26年寒假生活指导1.30
  • SAP克服艰难开局实现8%增长
  • C++面向对象入门:实验三
  • ManageEngine在阿联酋设立数据中心强化数据主权承诺
  • 东南亚海外仓商品SKU标准化,降低错发率提升仓库运营效率
  • AI大模型应用实践:40个高价值场景+151个典型应用+66个央企大模型清单
  • 网络安全跻身英国五大增长最快职业领域
  • 基于微信小程序的高校学生社团活动管理系统的设计和实现
  • 一文掌握大模型AI在行政管理中的高效应用技巧
  • 真香警告!RAG技术让大模型“知识库“实时更新,小白也能变大神