C++学习中的函数模版(显式具体化、隐式具体化、显式实例化)
2014-11-14 18:03
281 查看
本人最近在学习《c++primer plus》(请勿喷,本人新手),在学习第8章函数探幽的过程中,对函数模版的学习总是感觉不太对劲,所以把自己一些不是很成熟的见解写出来,希望如果有大神看到有不对的地方指出来。万分感谢!
1.标准化函数模版
template <class Any> return_type func_name(parameter list);//模版声明
template <class Any> return_type func_name(parameter list){
....
}
2.显式具体化
template <> return_type func_name(parameter list);
template <> return_type fund_name(parameter list){
....
}
或
template <> return_type func_name<type_name>(parameter list);
template
<> return_type fund_name<type_name>(parameter list){
....
}
3.显式实例化
template return_type func_name<type_name>(parameter list);
//该模版一般是在配合常规模版,且在使用之前去声明,然后编译器就会减少推断函数的个数,可以提高效率
4.关于同名函数使用的优先级
常规函数 > 显式具体化函数 > 显式实例化 > 常规模版
1.标准化函数模版
template <class Any> return_type func_name(parameter list);//模版声明
template <class Any> return_type func_name(parameter list){
....
}
2.显式具体化
template <> return_type func_name(parameter list);
template <> return_type fund_name(parameter list){
....
}
或
template <> return_type func_name<type_name>(parameter list);
template
<> return_type fund_name<type_name>(parameter list){
....
}
3.显式实例化
template return_type func_name<type_name>(parameter list);
//该模版一般是在配合常规模版,且在使用之前去声明,然后编译器就会减少推断函数的个数,可以提高效率
4.关于同名函数使用的优先级
常规函数 > 显式具体化函数 > 显式实例化 > 常规模版
相关文章推荐
- C++学习笔记36 模版的显式具体化(template specialization)和显式实例化(template instantiation)
- C++模版 显式实例化、显式具体化、隐式实例化
- [c++ primer plus]c++ 函数模版,类模版,实例化,具体化,模版作参数,模版的友元
- (转)c++模版:包含模型、显式实例化、分离模型
- C/C++日常学习总结(第十二篇)将构造函数声明为explicit(显式)的方式可以抑制隐式转换
- C++函数模板的隐式实例化、显式实例化与显式具体化
- C++学习笔记:函数模版
- template显式具体化、显式实例化、隐式实例化
- C++深入理解(4)------函数模板以及显式具体化(读书笔记)
- 模板显式、隐式实例化和(偏)特化、具体化的详细分析
- 模板显式、隐式实例化和(偏)特化、具体化的详细分析
- C++学习笔记-隐式成员函数
- 初探C++函数模版学习笔记
- C++ 函数模版显式参数
- c++模板显示实例化,显示具体化,隐式实例化
- 模板显式、隐式实例化和(偏)特化、具体化的详细分析
- C++ 函数模板 实例化和具体化
- 关于C++ Primer Plus书中讲的:隐式实例化,显示实例化,显示具体化的理解.
- C++零基础入门学习(函数模版)
- effective c++ 条款27: 如果不想使用隐式生成的函数就要显式地禁止它