why

模板小结

                                       ---------摘自《C++ Primer中文版》 

      模板是C++语言与众不同的特性,是标准库的基础。模板是独立于类型的蓝图,编译器可以用它产生多种特定类型的实例。我们只需编写一次模板,编译器将为使用模板的不同类型实例化模板。既可以编写函数模板又可以编写类模板。
       函数模板是建立算法库的基础,类模板是建立标准库容器和迭代器类型的基础。

       非类型模板实参必须是编译时常量表达式。
       编译模板需要编程环境的支持。语言为实例化模板定义了两个主要策略:包含模型和分别编译模型。这些模型规定了模板定义应该放在头文件还是源文件中,就此而言,它们影响着构建系统的方式。现在,所有编译器实现了包含模型,只有一些编译器实现了分别编译模型。
      显式模板实参使我们能够固定一个或多个模板形参的类型或值。显式实参使我们能够设计无需从对应实参推断模板类型的函数,也使我们能够对实参进行转换。
       模板特化是一种特化的定义,它定义了模板的不同版本,讲一个或多个形参绑定到特定类型或特定值。对于默认模板定义不适用的类型,特化非常有用。

posted on 2010-10-09 17:30 why 阅读(234) 评论(0)  编辑 收藏 引用 所属分类: 模板与泛型编程


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理