网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

C++模板函数重载的相关介绍和用法

本篇内容介绍了“C++模板函数重载的相关介绍和用法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

成都创新互联主营铜山网站建设的网络公司,主营网站建设方案,app开发定制,铜山h5微信小程序搭建,铜山网站营销推广欢迎铜山等地区企业咨询

1:实例化后的模版函数如果和某个非模版函数的调用一样的情况,会调用非模版函数。但也可以指定调用模版函数,如:

  1. inline int const& max(int const& a, int const& b)  

  2. {  

  3. // 为了便于区分,让返回结果+100  

  4. return a < b ? a+10 : b+100;  

  5. }  

  6. template  

  7. inline T const& max(T const& a, T const& b)  

  8. {  

  9. return a < b ? b : a;  

  10. }  

  11. // 这里模版函数实例化后的形式和一个非模版函数一致。
    可以使用下面的方法指定调用模版函数  

  12. int i = max<>(42, 66); 

2:由于C++模板函数重载的参数是类型,因此它不支持类型转化。但非模版函数支持类型转换:

inline int const& max(int const& a, int const& b)  {  return a < b ? b : a;  }  template inline T const& max(T const& a, T const& b)  {  return a < b ? b : a;  }  // 由于模版函数不支持类型转换,这里将调用非模版的max函数  max('c', 42.2);

试想上面的代码中,如果max('c', 42.2)要调用模板的max函数,它必须满足两个参数和返回值都是同一类型的条件。而给定的两个参数类型不一致,模板函数又不支持类型转换。因此,它找不到相匹配的模板函数,将会调用非模板的max函数。而如果我们强制使用max<>('c', 42.2)调用模板函数的话将会出现编译错误。

“C++模板函数重载的相关介绍和用法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


新闻名称:C++模板函数重载的相关介绍和用法
链接分享:http://bjjierui.cn/article/jjgosj.html

其他资讯