模板与泛型编程
--模板特化
引言:
我们并不总是能够写出对所有可能被实例化的类型都最合适的模板。某些情况下,通用模板定义对于某个类型可能是完全错误的,通用模板定义也许不能编译或者做错误的事情;另外一些情况下,可以利用关于类型的一些特殊知识,编写比从模板实例化来的函数更有效率的函数。
compare函数和 Queue类都是这一问题的好例子:与C风格字符串一起...
分类:
编程语言 时间:
2016-05-12 21:57:56
阅读次数:
246
模板与泛型编程
--模板特化[续]
三、特化成员而不特化类
除了特化整个模板之外,还可以只特化push和pop成员。我们将特化push成员以复制字符数组,并且特化pop成员以释放该副本使用的内存:
template<>
void Queue::push(const char *const &val)
{
char *new_item = new...
分类:
编程语言 时间:
2016-05-12 15:32:11
阅读次数:
214
函数模板( Function templates)
模板(Templates)使得我们可以生成通用的函数,这些函数能够接受任意数据类型的参数,可返回任意类型的值,而不需要对所有可能的数据类型进行函数重载。这在一定程度上实现了宏(macro)的作用。它们的原型定义可以是下面两种中的任何一个:
template function_declaration;
template function_declaration;
上面两种原...
分类:
其他好文 时间:
2016-04-29 18:16:06
阅读次数:
298
函数模板( Function templates)
模板(Templates)使得我们可以生成通用的函数,这些函数能够接受任意数据类型的参数,可返回任意类型的值,而不需要对所有可能的数据类型进行函数重载。这在一定程度上实现了宏(macro)的作用。它们的原型定义可以是下面两种中的任何一个:
template function_declaration;
template function_declaration;
上面两种原...
分类:
其他好文 时间:
2016-04-25 06:51:54
阅读次数:
252
类型萃取是实现不同类型数据面对同一函数实现不同的操作,它与类封装的区别是:并不用知道所调用的对象是什么类型,类型萃取是编译后知道类型,先实现;而类的封装则是先定义类型,后实现方法。类型分为基本类型(POD),和自定义类型。在这里用模板的特化实现其编程思想:以me..
分类:
其他好文 时间:
2016-04-21 00:00:37
阅读次数:
415
提起模板,那我们有必要先了解一下泛型编程。泛型编程:编写与类型无关的逻辑代码,是代码复用的一种手段。模板是泛型编程的基矗模板又分为:类模板和函数模板。首先看类模板的特化:类模板的特化分为:全特化和部分特化。下面举例说明:#include<iostream>
usingnamespa..
分类:
其他好文 时间:
2016-04-20 02:15:07
阅读次数:
164
C++中的模板特化不同于模板的实例化,模板参数在某种特定类型下的具体实现称为模板的特化。模板特化有时也称之为模板的具体化,分别有函数模板特化和类模板特化。 1.1函数模板特化 1.1函数模板特化 函数模板特化是在一个统一的函数模板不能在所有类型实例下正常工作时,需要定义类型参数在实例化为特定类型时函 ...
分类:
编程语言 时间:
2016-04-10 19:24:52
阅读次数:
268
所在头文件:<string>实现:typedfbasic_string<char>string所在命名空间:std功能:标准string提供字节标准容器的接口,同事增加对字符串中单独的字符的操作。由于标准string是basic_string<char>的一种特化,只能针对char型,如果字符编码方式是多字节或者..
分类:
其他好文 时间:
2016-04-07 18:44:23
阅读次数:
258
继承是Is-A的关系。曾经看到有人为了复用而使用了继承:有一个Base类,里面写了很多Common的方法,很多类继承自这个类,这种做饭就是把Has-A用Is-A来实现的。 继承的概念是说一个类是另一个类的特化。 Liskov替换原则:派生类必须能够通过基类的接口而被使用,且使用者无需了解两者之间的差 ...
分类:
其他好文 时间:
2016-04-02 22:42:15
阅读次数:
185
?见代码12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777... ...
分类:
其他好文 时间:
2016-03-26 23:43:03
阅读次数:
276