标题:template 复用问题
只看楼主
云尽头
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-7-25
结帖率:100%
已结贴  问题点数:20 回复次数:5 
template 复用问题
   我最近看到一个程序。用了template<class T> 和 template<> 同时对一个函数进行定义。并且执行代码不同。这样不冲突吗?
   我怎么判断调用这个函数的时候,应该执行哪段代码?

   比如:有个类 XMLserialize。
   template<class T>
   T fun(T a,T b)
   {return a+b;}

   同时在.inl 文件中又有这样的一个定义:
   template<>
   inline double XMLserialize::fun(double a,double b)
   {return a*b;}

    请问,我调用XMLserialize.fun函数时,到底应该执行哪段代码呢?
    谢谢各位!!
   
  
搜索更多相关主题的帖子: 复用 template 
2010-07-25 23:15
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
得分:10 
有个叫什么特化的规则(specialization,怎么翻译的都有)。

基本意思就是如果有更合适的模板就用更合适的,你上网一查就知道了。还有不同的编译器对这个能力支持的程度可能不一样,相关的也可以查查用户手册。
2010-07-26 00:44
saynotolx
Rank: 2
等 级:论坛游民
帖 子:11
专家分:13
注 册:2010-7-26
得分:10 
顶顶顶顶顶!
2010-07-26 17:22
云尽头
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-7-25
得分:0 
    可不可以说得细一点啊。
2010-07-27 14:32
云尽头
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-7-25
得分:0 
  我试了一下,这样子做会冲突!!
2010-07-27 15:26
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
得分:0 
我说的那个主题你看了吗?你用的编译器是不是 VC6.0 ?
2010-07-27 20:57



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-313976-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.599782 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved