C++之模板与泛型编程

家住魔仙堡 提交于 2019-11-30 11:54:09

一、模板与泛型编程的不同之处:

  OOP能处理类型在程序之前都未知的情况;而在泛型编程中,在编译时就能获知类型了。

C++语言联邦包括四大部分:C、Object-Oriented C++、Template C++、STL;由此可见泛型编程是非常重要的一部分,应当重点对待;当我们编写一个泛型程序时,是独立于任何特定类型来编写的。模板是泛型编程的基础,一个模板就是一个创建类或函数的公式。


 

二、定义模板:

1 template <typename T>
2 int compare(const T& v1, const T& v2) {
3   if(v1 < v2) return -1;
4   if(v2 < v1) return 1;
5   return 0;
6 }

 

模板定义以关键字template开始,后跟一个模板参数列表(template parameter list),它是一个逗号分隔的一个或多个模板参数(parameter list)的列表,用<和>包围起来。模板参数列表不能为空。

模板参数表示在类或函数定义中用到的类型或值。当使用模板时,我们(隐式或显示)指定模板实参(template argument),将其绑定到模板参数上

 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!