说白了,它是一个模板类,它主要是把C++当中的一些内建型别进行了封装,比如说numeric_limits是一个特化后的类,从这个类的成员变量与成员函数中,我们可以了解到int的很多特性:可以表示的最大值,最小值,是否是精确的,是否是有符号等等。如果用其他任意(非内建类型)来特化这个模板类,比如s.....
分类:
其他好文 时间:
2014-07-16 18:09:19
阅读次数:
207
经验:Traits classes 使得"类型相关信息"在编译期可用。它们以 templates 和 "templates 特化"完成实现
示例:
template
class deque{
public:
class iterator{
public:
typedef random_access_iterator_tag iterator_category;
};
};
//template
template
struct iterator_trai...
分类:
编程语言 时间:
2014-07-15 22:40:20
阅读次数:
372
模板与泛型编程--模板特化[续]三、特化成员而不特化类 除了特化整个模板之外,还能够仅仅特化push和pop成员。我们将特化push成员以复制字符数组,而且特化pop成员以释放该副本使用的内存:templatevoid Queue::push(const char *const &val){ ...
分类:
编程语言 时间:
2014-07-09 18:14:29
阅读次数:
212
模板与泛型编程--模板特化引言: 我们并不总是能够写出对全部可能被实例化的类型都最合适的模板。某些情况下,通用模板定义对于某个类型可能是全然错误的,通用模板定义或许不能编译或者做错误的事情;另外一些情况下,能够利用关于类型的一些特殊知识,编写比从模板实例化来的函数更有效率的函数。 compare函数...
分类:
编程语言 时间:
2014-06-29 19:27:29
阅读次数:
296
模版分类
模板分为类模板与函数模板
函数模版:为函数写一个模版,在使用函数时需要指出类型.
Template
返回值类型函数名(形参表){.... }
类模版:为类写一个模版,在使用类时需要指出类型.
Template
class 类名{.... }
类模版内函数类外实现:
在类模板外部定义成员函数,template 函数反回类型类名::函数名(参数列表){函数体}
templ...
分类:
编程语言 时间:
2014-06-24 18:29:03
阅读次数:
254
1 OOP概述
面向对象基于三个基本概念:数据抽象、继承和动态绑定。通过使用数据抽象,我们可以将类的接口与实现分离;使用继承,可以定义相似的类型并对其相似关系建模;使用动态绑定,可以在一定程度上忽略相似类型的区别,而以统一的方式使用它们的对象。
1.1 继承
继承是派生类与基类之间的关系,它们共享了一些公共的东西,而派生类特化了一些本质不同的东西。类与类之间的继承关系构成了继承层...
分类:
编程语言 时间:
2014-06-19 12:11:25
阅读次数:
318
包含头文件:#include 它是一个模板类,它主要是把C++当中的一些内建型别进行了封装,比如说numeric_limits是一个特化后的类,从这个类的成员变量与成员函数中,我们可以了解到int的很多特性:可以表示的最大值,最小值,是否是精确的,是否是有符号等等。如果用其他任意(非内建类型)来.....
分类:
编程语言 时间:
2014-06-18 16:07:08
阅读次数:
278
测试环境:
win7 64
g++ 4.8.1...
分类:
其他好文 时间:
2014-06-17 22:56:35
阅读次数:
250
条款47模板局部特化
不能对函数模板进行局部特化,所能做的即使重载它们。
但可以对类模板进行局部特化。
template class Heap; //主模板
template classHeap{…}; //局部特化
局部特化的语法类似完全特化,但是他的模板参数列表是非空的。当使用任何(未经修饰的)指针类型来实例化一个Heap时,这个局部特化版将优先于主模板而被采用。进一步而言...
分类:
编程语言 时间:
2014-06-07 01:46:57
阅读次数:
248
模板与泛型编程--模板特化引言: 我们并不总是能够写出对所有可能被实例化的类型都最合适的模板。某些情况下,通用模板定义对于某个类型可能是完全错误的,通用模板定义也许不能编译或者做错误的事情;另外一些情况下,可以利用关于类型的一些特殊知识,编写比从模板实例化来的函数更有效率的函数。 compare函数和 Queue类都是这一问题的好例子:与C风格字符串一起使用进,它们都不能正确工作。 compare...
分类:
编程语言 时间:
2014-05-26 03:15:50
阅读次数:
395