函数模板的特化
来源:互联网 发布:淘宝卖家为什么怕差评 编辑:程序博客网 时间:2024/06/04 08:03
template<typename T>T max(T lhs, T rhs){ return lhs > rhs ? lhs : rhs;}int main(){ max(1,2); max("a","b");}
该模板函数能够比较整型等数据类型的大小,,但是对于字符串,这种比较的方式就是错误的.
此时我们需要对该函数模板进行特化处理
template<>const char* max(const char* lhs, const char* rhs){ return strcmp(lhs,rhs) > 0 ? lhs : rhs;}
这种情况代表这T为const char*时的特殊情况,此时直接调用下面的函数,就不会通过上面的函数模板进行生成..
它与重载不同的是,如果我们没有使用到这个特化的函数,它是不会生成的,,也就是不会进行实例化.不占用内存空间..而重载是会占用内存空间的.
关于重载函数,,模板函数,以及模板函数之间的调用顺序
在符合调用规则的情况下,函数的调用顺序是,首先调用重载的函数,,其次调用特化的函数,最后调用模板函数
0 0
- 函数模板的特化
- 模板函数的特化
- 函数模板的特化
- 函数模板的特化
- 函数模板的特化
- 函数模板的特化
- 函数模板全特化与特殊的偏特化
- 模板函数和类的特化以及偏特化
- (函数/类模板)的(偏特化/全特化)
- 模板函数的全特化与重载
- 函数模板特化的一些问题
- 模板的特化、偏特化
- 模板函数特化
- 模板函数 重载/特化
- 函数模板特化问题-compare函数特化
- <类模板 的 成员函数的特化>及<类 的 成员模板函数的特化>
- C++ 模板全特化中的函数特化
- 函数模板全特化与偏特化
- 离屏渲染
- Java多线程系列--“JUC集合”
- C++第3次上机作业
- Python入门练习0006:正整数列表L 结尾0的个数
- 并发编程下的blockingqueue
- 函数模板的特化
- Arrays 【二分】
- 冒泡排序,鸡尾酒排序,选择排序
- 内存管理
- ZOJ 3715 Kindergarten Election(枚举、贪心)
- Java多线程系列--“JUC线程池”
- Activity的onTouchEvent方法实现监听手指上下左右滑动
- 解决Ubuntu中ibus拼音输入法问题
- 20170403_Windows网络编程视频学习2