GeekBand笔记: STL与泛型编程(1)

Templates and Generic Programming

  • 泛型技术。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。
  • 模板是泛型编程的基础

模板 template

  • 模板不是类或函数,可以将模板看作编译器生成类或者函数的一份说明书;
  • 编译器根据模板创建类或者函数的过程称为模板的实例化(instantiation);
  • 使用模板时,必须(隐式或显式)指定模板实参
    • 显式模板实参(explicit template argument)
    max (1, 3.0); //function template
    Blob a; //class template 必须显式指定
    
    • 隐式模板实参(implicit template argument)
    max(1, 2); //function template
    

函数模板(function template)

template