标签:函数 模版 void fun 实例 template 第十四章
函数模版
我们可以使用template
关键字引入模版,比如
template <typename T>
void fun(T input)
{
}
typename
关键字可以替换为class
,含义相同
函数模版中包含了两对参数:函数形参/实参;模版形参/实参
函数模版需要进行显式实例化,比如
fun<int>(3);
关于显式实例化,需要知道以下几点:
- 实例化会使得编译器产生相应的函数(函数模版并非函数,不能调用)
- 模版函数在编译期的两阶段处理
- 模版语法检查
- 模版实例化
- 模版必须在实例化时可见->模版的翻译单元级的一处定义原则(不同于普通函数的程序级的一处定义原则)
- 注意函数模版与内联函数的区别
最后我们来讨论一个概念-函数模版的重载
template <typename T>
void fun(T)
{
}
template <typename T, typename T2>
void fun(T input1, T2 input2)
{
}
标签:函数,模版,void,fun,实例,template,第十四章 来源: https://blog.csdn.net/weixin_39061796/article/details/120658707
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。