模板实参推断

一、类型转换与模板类型参数
可应用于函数模板的类型转换

1. 非const的引用(或指针)传递给const的引用(或指针)

int i;
const int &j=i;
const int *p=&i;
int &r=j,*q=p;//错误,存在修改const的可能
2. 数组、函数指针转换
int a[10];
int *r=a;//将a自动换成指向数组首元素的指针
bool lengthcompare(const string&,const string&);
bool (*pf)(const string&,const string&);//此处若不写()则返回bool*
pf=lengthcompare;
pf=&lengthcompare;//与上式等价
bool b1=pf("hello","nihao");
bool b2=(*pf)("hello","nihao");
void usebigger(const &string,pf(const string&));
void usebigger(const &string,(*pf)(const string&));//函数指针自动转换;
3. 正常类型转换,应用于普通函数
template<typename T> ostream,%printostream &os,const 
print(cout<<42);
练习题;
1. 模板实参
2. 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值