如何详细讲解C++类模板与函数模板的基础知识?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1180个文字,预计阅读时间需要5分钟。
目录 + 函数模板 + 类模板 + 总结 + 函数模板 + 当我们需要定义一个支持泛型的函数时,就要采用函数模板的方式。所谓泛型,就是可以支持多种类型操作,例如我们定义一个compare操作。
目录
- 函数模板
- 类模板
- 总结
函数模板
当我们想要定义一个可以支持泛型的函数时,就要采用函数模板的方式了。所谓泛型就是可以支持多种类型的操作,比如我们定义一个compare操作,他可以根据传递给他的参数类型动态调用对应的函数版本,实现多种类型的比较。
template <typename T> int compare(const T &v1, const T &v2) { if (v1 < v2) return -1; if (v2 < v1) return 1; return 0; }
比较函数是一个模板函数,它支持T类型的对象比较,模板函数定义的规则是用template 声明模板的类型为T,然后用T做参数即可。
调用的规则传递实参就可以了,前提是实参的类型要支持比较大小,如果是类的类型我们可以重载比较运算符。
本文共计1180个文字,预计阅读时间需要5分钟。
目录 + 函数模板 + 类模板 + 总结 + 函数模板 + 当我们需要定义一个支持泛型的函数时,就要采用函数模板的方式。所谓泛型,就是可以支持多种类型操作,例如我们定义一个compare操作。
目录
- 函数模板
- 类模板
- 总结
函数模板
当我们想要定义一个可以支持泛型的函数时,就要采用函数模板的方式了。所谓泛型就是可以支持多种类型的操作,比如我们定义一个compare操作,他可以根据传递给他的参数类型动态调用对应的函数版本,实现多种类型的比较。
template <typename T> int compare(const T &v1, const T &v2) { if (v1 < v2) return -1; if (v2 < v1) return 1; return 0; }
比较函数是一个模板函数,它支持T类型的对象比较,模板函数定义的规则是用template 声明模板的类型为T,然后用T做参数即可。
调用的规则传递实参就可以了,前提是实参的类型要支持比较大小,如果是类的类型我们可以重载比较运算符。

