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

模板的特化详解

目录

一、什么是模板的特化

二、实例说明


一、什么是模板的特化

模板特化是 c++为 模板参数提供的一种针对不同场景的定制手段 。

二、实例说明

1.单个模板参数特化,可以针对int 类型的模板参数 进行 特殊处理

template<class K>
class AC
{
public:void Tool() { cout << "处理普通的逻辑" << endl; }K a;
};
template<>
class AC<int>
{
public:void Tool() { cout << "处理int的逻辑" << endl; }int a;
};
int main()
{AC<string>().Tool();AC<int>().Tool();return 0;
}

2.还可以特殊处理 非指定类型的指针类型模板参数

template<class K>
class AC
{
public:void Tool() { cout << "处理普通的逻辑" << endl; }K a;
};
template<class K>
class AC<K*>
{
public:void Tool() { cout << "处理指针的逻辑" << endl; }K a;
};
int main()
{AC<string>().Tool();AC<int*>().Tool();return 0;
}

 

3. 多个模板参数的特化

template<class K,class T>
class AC
{
public:void Tool() { cout << "处理普通的逻辑" << endl; }K a;
};
template<class K,class T>
class AC<K,T*>
{
public:void Tool() { cout << "偏特化,处理指针的逻辑" << endl; }K a;
};
int main()
{AC<int,int>().Tool();AC<int,int*>().Tool();return 0;
}

http://www.dtcms.com/a/388755.html

相关文章:

  • AI大模型:(三)1.2 Dify安装
  • nodejs+postgresql 使用存储过程和自定义函数
  • Siemens TIA Portal安装详细教程(附安装包)Siemens TIA Portal V20超详细安装教程
  • 速通ACM省铜第七天 赋源码(Sponsor of Your Problems)
  • 数据流图DFD
  • Netty ChannelHandler
  • 对比基于高斯核的2D热力图与普通Canvas热力图
  • 问题:RuntimeError: cuDNN error: CUDNN_STATUS_NOT_SUPPORTED.
  • 基于Cookie的SSO单点登录系统设计与实现
  • AXI4 协议
  • 懒删除|并查集|容斥
  • 鲁大齐专业WordPress外贸独立站建设服务商
  • 【LeetCode 每日一题】3516. 找到最近的人
  • 团体程序设计天梯赛-练习集 L1-030 一帮一
  • delphi 最大String
  • 线程安全的C++对象:深入探讨与实现
  • 关于段访问机制
  • 如何判断nmos和pmos导通和截止
  • 密码攻击技术全景:模型、方法与攻防演进
  • Avalonia跟WPF的不同点
  • 下载 | Win11 25H2 准正式版更新!(ISO映像、2025年度版本、26200.6713、Windows 11)
  • 2025年生态环境大数据技术发展潜力大不大?
  • opencv静态编译win10
  • Linux进程控制与编程实战:从fork到mini-shell的完整指南
  • Python实现三角龙优化算法 (Triceratops Optimization Algorithm, TOA) 优化函数(附完整代码)
  • JS开发工具有哪些?常用JS开发工具推荐、JS调试工具对比与最佳实践分享
  • QNX系统入门总结
  • 网站服务相关问题
  • 系统设计(Python\JAVA)选题
  • 移动零_优选算法(C++)