我们在编写C++类库时,为了隐藏实现,往往只能忍痛舍弃模版的强大特性。但如果我们只需要有限的几个类型的模版实现,并且不允许用户传入其他类型时,我们就可以将实例化的代码放在cpp文件中实现了。然而,当我们又需要针对特定类型进行模版偏特化时,由于gcc编译器不允许直接在类中进行偏特化声明,所以正确的写法...
分类:
编程语言 时间:
2014-09-04 00:02:17
阅读次数:
391
模板与泛型编程--模板特化[续]三、特化成员而不特化类 除了特化整个模板之外,还可以只特化push和pop成员。我们将特化push成员以复制字符数组,并且特化pop成员以释放该副本使用的内存:template<>
void Queue::push(const char *const &val)
{
char *new_item = new char[sizeof(val) + 1];
...
分类:
编程语言 时间:
2014-05-24 14:16:21
阅读次数:
339