why

模板与泛型编程

模板是C++语言与众不同的特性,是标准库的基础。模板是独立于类型的蓝图,编译器可以用它产生多种特定类型的实例。我们只需编写一次模板,编译器将为使用模板的不同类型实例化模板。既可以编写函数模板又可以编写类模板。 函数模板是建立算法库德基础,类模板是建立标准库容器和迭代器类型的基础。 编译模板需要编程环境的支持。语言为实例化模板定义了两个主要策略:包含模型和分别编译模型。这些模型规定了模板定义应该放在头文件还是源文件中,就此而言,它们影响着构建系统的方式。现在,所有编译器实现了包含模型,只有一些编译器实现了分别编译模型。 显式模板实参使我们能够固定一个或多个模板形参的类型或值。显式实参使我们能够设计无需从对应实参推断模板类型的函数,也使我们能够对实参进行转换。 模板特化是一种特化的定义,它定义了模板的不同版本,讲一个或多个形参绑定到特定类型或特定值。对于默认模板定义不适用的类型,特化非常有用。
关于模板元编程

posted @ 2010-11-01 16:58 why 阅读(565) | 评论 (2)  编辑

模板小结

posted @ 2010-10-09 17:30 why 阅读(234) | 评论 (0)  编辑