随笔分类 -  C++ template

摘要:1 内联函数2 函数模板3 类模板包含模型链接器错误:大多数C和C++程序员会这样组织他们的非模板代码:类和其他类型都被放在一个头文件中。通常而言,头文件是一个扩展名为.hpp(.h、.hh)的文件。对于全局变量和(非内联)函数,只有声明放在头文件中,定义则位于.c文件,通常而言,.c文件是指扩展名... 阅读全文
posted @ 2014-10-30 08:31 Jessica程序猿 阅读(1948) 评论(0) 推荐(0)
摘要:关键字 typename在C++标准化过程中,引入关键字typename是为了说明;模板内部的标识符可以是一个类型。譬如下面的例子:templateclass MyClass{ typename T::SubType *ptr; ...}; 上面的程序中,第2个typename被用来说... 阅读全文
posted @ 2014-10-29 18:14 Jessica程序猿 阅读(444) 评论(0) 推荐(0)
摘要:对于函数模板与类模板,模板参数并不局限于类型,普通值也可以作为模板参数。在基于类型参数的模板中,你定义了一些具体的细节来加以确定代码,直到代码被调用时这些细节才被真正的确定。但是在这里,我们面对的是这些细节是值,而不是类型,当要使用基于值的模板时,必须显式地指定这些值,才能够对模板进行实例化。非类型... 阅读全文
posted @ 2014-10-29 16:54 Jessica程序猿 阅读(967) 评论(1) 推荐(0)
摘要:---恢复内容开始---感觉C++ templates这本书写的不怎么好,挑写重点记一下:1 与函数模板一样,只能在同一个头文件中声明和定义类。类模板的声明类模板的声明和函数模板的声明很相似:在声明之前,我们先(用一条语句)声明作为类型参数的标志符;我们继续使用T作为标志符;template cla... 阅读全文
posted @ 2014-10-29 16:40 Jessica程序猿 阅读(374) 评论(0) 推荐(0)
摘要:函数模板函数模板是那些被参数化的函数,它们代表的是一个函数家族。初探函数模板函数模板提供了一种函数行为,该函数行为可以用多种不同的类型进行调用;也就是说,函数模板代表一个函数家族。它的表示(即外形)看起来和普通的函数很相似,唯一的区别是函数元素是未确定的:这些元素将在使用时被参数化。定义模板下面是一... 阅读全文
posted @ 2014-10-28 22:16 Jessica程序猿 阅读(504) 评论(0) 推荐(0)