function template函数模板概念笔记----C++学习之路
来源:互联网 发布:格兰特希尔数据 编辑:程序博客网 时间:2024/05/16 23:41
1.直接从例子来了解函数模板的概念:
template <class T>inline const T& min(const T& a,const T& b){ return b<a ? b : a;}运行示例:
class stone{public: stone(int w, int h, int we) :_w(w),_h(h),_weight(we) {} bool operator< (const stone& rhs) const {return _weight <rhs._weight; }private: int _w,_h,_weight;};
stone r1(2,3),r2(3,3).r3;r3=min(r1,r2);T只是一个符号,换成什么都可以。
相比类模板,函数模板不需要指明像complex<int>,编译器会进行实参推倒(argument deduction)。
在运行min函数的时候,编译器会去找stone这个类,看看类内是否能够让这两个能够比较,看到了operator<这个操作符
重载,于是编译器调用<这个符号。
如果stone没有进行操作符重载小于这个符号,那么编译器就会报出<这个符号没有定义。
阅读全文
0 0
- function template函数模板概念笔记----C++学习之路
- C++Template学习笔记之函数模板
- C++ Template学习笔记之函数模板(1)——函数模板定义
- C++ Template学习笔记之函数模板(7)——重载函数模板
- C++ Template学习笔记之函数模板(1)——函数模板定义
- C++ Template学习笔记之函数模板(7)——重载函数模板
- 函数模板 Function Template(C++Primer-10)
- C++ Template学习笔记之函数模板(3)——模板实参推演
- C++ Template学习笔记之函数模板(5)——模板编译模式
- C++ Template学习笔记之函数模板(3)——模板实参推演
- C++ Template学习笔记之函数模板(5)——模板编译模式
- C++ Template学习笔记之函数模板(2)——函数模板实例化
- C++ Template学习笔记之函数模板(2)——函数模板实例化
- C++ Template学习笔记之函数模板(4)——显式模板实参
- C++ Template学习笔记之函数模板(6)——模板显式特化
- C++ Template学习笔记之函数模板(4)——显式模板实参
- C++ Template学习笔记之函数模板(6)——模板显式特化
- [转]C++ Template学习笔记之函数模板(5)——模板编译模式
- 修改iso文件,让Windows10成为真正会念诗的膜法师
- 新版本kali-2017中部署dvwa后数据库连接失败的解决办法
- Spring Security OAuth2 开发指南
- 【面向JS--DOM加载过程】
- rsa破解简单练习
- function template函数模板概念笔记----C++学习之路
- 个人总结29
- 远方的路
- (shui ti)输入3个整数,输出绝对值最大的那个数。
- Scala的协变covariant(+),逆变contravariant(-),上界(<:),下界(>:)
- Java多线程和内存模型(一):进程和线程基础
- 计算机网络基础--1概述①
- 前端学习_03.盒子模型/属性
- 【论文笔记】An End-to-End Model for QA over KBs with Cross-Attention Combining Global Knowledge