函数模板为什么没有偏特化?问题解答
2009-07-09 09:51
344 查看
推荐Herb Sutter的文章:Why Not Specialize Function Templates?
通过该文,明白了:
1. 没有函数偏特化,仅仅是因为C++标准语言说不行(you can't partially specialize them -- pretty much just because the language says you can't),另外我觉得有了函数重载,函数偏特化也没什么用
2. 函数的全特化并不参与函数重载, 因为担心全特化版本会弄乱函数重载解析(不是很明白)
3. 函数重载的解析次序依次是:
void f(int i); 这类plain old normal function
某个没有进行全特化的template function
如果这个没有进行全特化的template function有全特化版本,并且类型也比较匹配,则选择这个全特化版本
通过该文,明白了:
1. 没有函数偏特化,仅仅是因为C++标准语言说不行(you can't partially specialize them -- pretty much just because the language says you can't),另外我觉得有了函数重载,函数偏特化也没什么用
2. 函数的全特化并不参与函数重载, 因为担心全特化版本会弄乱函数重载解析(不是很明白)
3. 函数重载的解析次序依次是:
void f(int i); 这类plain old normal function
某个没有进行全特化的template function
如果这个没有进行全特化的template function有全特化版本,并且类型也比较匹配,则选择这个全特化版本
相关文章推荐
- 小小问题集锦5之---为什么在没有 ORDER BY 子句的情况下无法保证 SELECT 语句所返回结果的顺序
- 你为什么没有发现问题?!
- Linux常见问题1000个为什么详细解答之一
- 【小小问题集锦5之---为什么在没有 ORDER BY 子句的情况下无法保证 SELECT 语句所返回结果的顺序。】
- 关于为什么web service 构造函数只能是无参数构造函数问题的解答
- 打开Android studio遇到的一些问题,为什么安装jdk没有jdk.....的文件夹
- 腾讯云搜问题解答1——用户为什么在你的网站搜索不到想要的内容
- C语言代码,求高手解答,为什么没有错误,但是结果不对
- 初学iOS,刚看到控件的strong&weak问题,如果答的不对还请指正。首先有一点,在OC中,如果对象没有强引用,就会被自动释放,那么为什么控件还可以设为weak?
- 代码配置没有问题,为什么不回滚事务(要理解Mysql数据库引擎)
- 七牛上传同名文件为什么没有报错解答
- 跨域小结(为什么form表单提交没有跨域问题,但ajax提交有跨域问题)
- 对问题“为什么执行softirq时不能被抢占?”的解答
- 为什么labview安装后,在安装目录里没有license文件夹的解答
- 关于 Eclipse 创建 Dynamic Web Project (动态的 WEB 项目) 为什么会出现没有web.xml配置文件的问题
- 提个问题:为什么没有版本历史记录?
- 【求助】Html弄的比较少,问一个弱弱的问题,为什么下面代码在IE中tr之间有空白行,而在Firefox中没有空白
- 为什么不用C++写游戏(聪明的程序员不用C++折磨自己)(这些工作,QT都替开发者解决了,C++没有根类导致太多的问题,也没有字符串类)
- 将客户端设置为不同的字符集,演示导入/导出可能产生的乱码问题。为什么没有出现乱码
- 特化模板函数的符号多重定义错误问题解答