博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++的模板
阅读量:5956 次
发布时间:2019-06-19

本文共 759 字,大约阅读时间需要 2 分钟。

1. 模板形参表

模板形参表,里面可以是typename T/ class T这种形式的,代表里面被泛化的是一种类型;

也可以使用Type value这种形式的,代表里面被泛化的是一个某种类型的值。

 

这点很重要,因为后面介绍的部分特化(Partial Specialization),就是应用的值的泛化,即一个模板(仅限类模板)有多个类型泛化的形参的时候,可以将其中的部分类型特化成值,以代表其中的特殊情况;

 

这是一种特殊情况,特殊处理的哲学。

 

比部分特化更加普遍的全部特化,即将所有的类型都用具体的值进行替换。

全部特化即可以用于类模板,也可以用于函数模板。

只有在全部特化时,也可以也必须使用空的模板形参表

template<>

 

为什么函数模板没有部分特化?

1: template
2: bool allNumeric(const T1& op1, const T2& op2)
3: {
4:     return true;
5: }
6: 
7: template<>
8: bool allNumeric
(const int& op1, const std::string& op2)
9: {
10:     return false;
11: }
12: 
13: //template
14: //bool allNumeric
(const T& op1, const std::string& op2)
15: //{
16: //    return false;
17: //}

转载于:https://www.cnblogs.com/long123king/p/3522258.html

你可能感兴趣的文章
Hibernate 对c3p0配置不支持导致的错误
查看>>
python学习之网络编程
查看>>
64位Java开发平台的选择,如何区分JDK,Tomcat,eclipse的32位与64版本
查看>>
谈Win32汇编
查看>>
sqlserver_identity
查看>>
其他的AdapterView——Spinner
查看>>
iOS UIWebView打电话
查看>>
java高质量图片压缩
查看>>
源码解读Linux的limits.conf文件
查看>>
cisco 增强型内部网关路由协议EIGRP笔记
查看>>
exchange 2010 无人值守安装
查看>>
java this关键字的使用
查看>>
linux基础1
查看>>
Google地球查看香港地形
查看>>
jquery之统计数字parseFloat
查看>>
20161121
查看>>
Nginx服务器开启gzip压缩功能额必要性
查看>>
ZeroMQ研究与应用分析
查看>>
Linux基础命令--grep/find
查看>>
NTFS(Windows)、ext4(RHEL6)和xfs(RHEL7)文件系统的误删除恢复和备份
查看>>