随笔 - 25  文章 - 29  trackbacks - 0
<2006年5月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

常用链接

留言簿(4)

随笔分类(22)

随笔档案(25)

文章分类(2)

文章档案(2)

相册

最新随笔

搜索

  •  

积分与排名

  • 积分 - 54486
  • 排名 - 407

最新评论

阅读排行榜

评论排行榜

      template <typename T>
 T f(T a1,T a2)
{
.........................
}


显示实参
f<int >(1,2);
显示实例化
template  int f<int >(int ,int);(申明)
显示特化
  template <> int f<int> (int,int)(定义)
{

      ...........
}
强制 从模版中挑选
 
f<>(2,3);

在函数调用,取函数地址时 实参推演(左值,限定,基类)
 int (* p)(int ,int)=&f;     int(*p) (int ,int )=& f<int,int>
  f(2,3);                             f<int,int>(2,3);
1.编译模版时,编译器检查
2.实例化时(在实例化点 再编译),编译器检查

函数模版 只能出现在模版定义中
函数模版实例 可以出现在模版定义和非定义中
//////////////////////
1.非模版函数优先级高
2.候选---〉可行实例化(有特化否〈)(有非模版否)--〉选中
3.依赖模版参数的在实例点解析,不依赖的在模版定义时解析
posted on 2006-05-27 15:31 黄大仙 阅读(930) 评论(0)  编辑 收藏 引用 所属分类: c++

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理