c++函数模板转类模板,看看类模板的强大
元<元<类 B>类 G,类...T,类 A,整...I>
空 展开(序列<I...>,向量<A>&b){
((G<T>::动作(b[I])),...);
}//要用两个括号
元<元<类 B>类 F,类...T,类 A>
空 展开(向量<A>&b){
断大小<T...>(b);
展开<F,T...>(转序<T...>(),b);
}//展开向量.先给出T,这样好推断一些.
下面是函数模板转类模板
宏.可进一步,增强能力:
#define 单参构(S,H,T)\
元<类 I>构 S{\
静 常式 空 动作(T&e){H<I>(e);}\
};
//单参模板,转为构,S作为模板参数.
//H为函数,e为参数.
//这里是单参,还可根据需要继续扩展.
使用时:
单参构(加一构,加一,串);//先定义宏,转成
//这是函数模板转类模板.
元<类...T>空 加(向量<串>&b){
展开<加一构,T...>(b);
}//如何展开向量?
然后,外部,就可调用加
函数了.
示例
#include "向量针.cpp"
构 A{
串 呀;
~A(){}
};
构 B:公 A{};
构 C:公 A{};
构 D:公 A{};
空 主(){
向量<串>啊{"a","b","c","d"};
静 无映针<A>d;
d.加<A,B,C,D>(啊);
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现