随笔分类 - 模板和泛型
模板和泛型
摘要:普通类的成员函数模板 不管是普通类还是类模板,它的成员函数可以是一个函数模板(成为成员函数模板)。不可以是虚函数,否则编译器会报错。 //普通类的成员函数模板 class A { public: template<typename T> void my_ft(T tmp) //成员函数模板 { co
阅读全文
摘要:typename的使用场合 模板定义中,表明其后的模板参数是类型参数 template<typename T, int a, int b> //typename后跟的是一个类型 int funcadd(T c){...} template<typename T> //typename可以写为clas
阅读全文
摘要:概述 用类模板实例化一个特定的类; 编译器不能为类模板推断模板参数,为了使用类模板,必须在模板名后用<>来提供额外的信息; 同一套代码,可以应付不同的数据类型; 类模板定义 格式 template <typename T, ...> class name { } 实例化类模板的时候,必须要有类的全部
阅读全文
摘要:概述 泛型编程,是以独立于任何特定类型的方式编写代码,使用泛型编程时,需要提供具体程序实例所操作的类习惯或者值; 模板是泛型编程的基础,模板是创建类或者函数的蓝图或者公式,给这些蓝图或者公式足够的信息,让这些蓝图或者公式真正的转变为具体的类或者函数,这种转换发生在编译时; 模板支持将类型作为参数的程
阅读全文