第十六章 模板和泛型编程
所谓泛型编程就是以独立于任何特定类型的方式编写代码。使用泛型程序时,我们需要提供具体程序实例所操作的类型或值。第二部分中描述的标准库的容器、迭代器和算法都是泛型编程的例子。每种容器(如 vector)都有单一的定义,但可以定义许多不同种类的 vector,它们的区别在于所包含的元素类型。模板是泛型编程的基础。使用模板时可以无须了解模板的定义。本章将介绍怎样定义自己的模板类和模板函数。
eg:
template <typenameT>
int compare(const T&v1, const T &v2)
{ if (v1 < v2) return -1; if (v2 < v1)return 1; return 0; }
int result=compare<int>(7, 8);
模板类:
eg:
template <classType> class BBB
{Type tval; Typeget(){return tval;}};
BBB<int> b;
根据以上语法,那么可以编写具有相同处理过程,只是处理类型不同的函数或类,这些是广泛的类型,大概就是泛型编程的意思,还是那句话,在编码工作中学习。。。
呵呵,其他书上还有很多,先不深究这些了。关机还是前面的面向对象编程,除非对STL比较感兴趣。。。
唉,都是浅显的认识,再次证明了自己的懒惰。。。