C++模板提供了编译期多态的能力----请解释这句话

  当我们使用class的时候,考虑的是运行时的多态, 这个利用虚函数实现。基类建立起一个接口(虚函数),派生类可以从此进行派生,在不违反接口的语义的前提下重写基类的虚函数。 这就是传说中C++三大特性之一的多态。

  但是这样的话有两个主要缺点:

    一: 这些类型必须唯一同一个继承自某一个公共的基类。

    二: 每次虚函数的调用都要通过一个额外的见解层----虚函数指针列表。

 

  如果在编译期就知道是什么类型的话就可以完全避免这两个问题。这就有了泛型---在编译期间,由编译期判断用什么样子的型别。

  当然, 缺点也是显而易见的, 对编译器要求高,增加编译的时间。

posted @ 2010-09-09 11:03  sld666666  阅读(679)  评论(3编辑  收藏  举报