c++看懂部分特化
元<类 M,类 N>构 H{};
元<整 I,类...M>构 MM{};
元<整 I,类...M>构 NN{};
元<整 M,整 N,类...A,类...B>
构 H<NN<M,A...>,MM<N,B...>>{
空 f(){
用 S=取型<M,A...>::型;
用 T=取型<N,B...>::型;
S().f();
T().g();
}
};
空 主(){
H<NN<0,B,C>,MM<1,D,E>>().f();
}
只有使用过一次才有感觉.用部分特化来处理两个参数包
.
构 H<NN<M,A...>,MM<N,B...>>{
这里表明,H
需要两个类型参数.分别为NN,MM
.
H<NN<0,B,C>,MM<1,D,E>>().f();
上面这样实例化,用的不是H<M,N...>
来实例化,而是用H<NN<0,B,C>,MM<1,D,E>>().f();
来实例化.这些都是细节.用两个不同包装来特化
.
这里,NN<M...>
不能直接在前面加上数字
,而要在NN
的类型前面如下,加上整
数字.
元<整 I,类...M>构 NN{};
//加个I.
C++
的部分特化
,就是这样.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现