模板与泛型编程--模板特化引言: 我们并不总是能够写出对全部可能被实例化的类型都最合适的模板。某些情况下,通用模板定义对于某个类型可能是全然错误的,通用模板定义或许不能编译或者做错误的事情;另外一些情况下,能够利用关于类型的一些特殊知识,编写比从模板实例化来的函数更有效率的函数。 compare函数...
分类:
编程语言 时间:
2014-06-29 19:27:29
阅读次数:
296
测试环境:
win7 64
g++ 4.8.1...
分类:
其他好文 时间:
2014-06-17 22:56:35
阅读次数:
250
模板与泛型编程--模板特化引言: 我们并不总是能够写出对所有可能被实例化的类型都最合适的模板。某些情况下,通用模板定义对于某个类型可能是完全错误的,通用模板定义也许不能编译或者做错误的事情;另外一些情况下,可以利用关于类型的一些特殊知识,编写比从模板实例化来的函数更有效率的函数。 compare函数和 Queue类都是这一问题的好例子:与C风格字符串一起使用进,它们都不能正确工作。 compare...
分类:
编程语言 时间:
2014-05-26 03:15:50
阅读次数:
395
模板与泛型编程--模板特化[续]三、特化成员而不特化类 除了特化整个模板之外,还可以只特化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