模板与泛型编程--模板编译模型引言: 当编译器看到模板定义的时候,它不立即产生代码。只有在用到模板时,如果调用了函数模板或定义了模板的对象的时候,编译器才产生特定类型的模板实例。 一般而言,当调用函数时[不是模板],编译器只需看到函数的声明。类似的,定义类类型的对象时,类定义必须可用,但成员函数的定义不是必须存在的。因此,应该将类定义和函数声明放在头文件中,而普通函数和类成员函数的定义放在源文件中...
分类:
编程语言 时间:
2014-05-22 13:37:21
阅读次数:
273
模板与泛型编程--实例化[续]二、函数模板的显式实参 在某些情况下,不可能推断模板实参的类型。当函数的返回类型必须与形参表中所用的所有类型都不同时,最常出现这一问题。在这种情况下,有必要覆盖模板实参推断机制,并显式指定为模板形参所用的类型或值。1、指定显式模板实参 如果函数形参类型不统一,该如何指定sum的返回类型?template
??? sum(T, U);
此时使用任一形参调用都一定...
分类:
编程语言 时间:
2014-05-22 13:05:59
阅读次数:
322
模板与泛型编程--实例化引言: 模板是一个蓝图,它本身不是类或函数。编译器使用模板产生指定的类或函数的特定版本。产生模板的特定类型实例的过程称为实例化。 模板在使用时将进行实例化,类模板在引用实际模板类型时实例化,函数模板在调用它或用它对函数指针进行初始化或赋值时实例化。1、类的实例化 当编写Queueqi时,编译器自动创建名为Queue的类。实际上,编译器通过重新编写Queue模板,用类型in...
分类:
编程语言 时间:
2014-05-22 10:11:06
阅读次数:
367
模板与泛型编程--类模板成员引言: 这一节我们介绍怎样实现前面提到的Queue模板类。 标准库将queue实现为其他容器之上的适配器。为了强调在使用低级数据结构中设计的编程要点,我们将Queue实现为链表。实际上,在我们的实现中使用标准库可能是个更好的决定!!-_-。1、Queue的实现策略 如图所示,我们实现两个类: 1)QueueItem类表示Queue的链表中的节点,该类有两个数据成员ite...
分类:
编程语言 时间:
2014-05-20 13:47:39
阅读次数:
430
面向对象编程--再谈文本查询示例[续/习题]//P522 习题15.41
//1 in TextQuery.h
#ifndef TEXTQUERY_H_INCLUDED
#define TEXTQUERY_H_INCLUDED
#include
#include
#include
#include
#include
#include
#include
#include
usin...
分类:
编程语言 时间:
2014-05-18 18:41:59
阅读次数:
454
模板与泛型编程--模板定义引言: 所谓泛型程序就是以独立于任何特定类型的方式编写代码。使用泛型程序时,我们需要提供具体程序实例所操作的类型或值。 模板是泛型编程的基础。使用模板时可以无须了解模板的定义。 泛型编程与面向对象编程一样,都依赖于某种形式的多态性。面向对象编程中的多态性在运行时应用于存在继承关系的类。我们能够编写使用这些类的代码,忽略基类与派生类之间类型上的差异。只要使用基类的引用或指针...
分类:
编程语言 时间:
2014-05-18 07:23:00
阅读次数:
344
面向对象编程--再谈文本查询示例引言: 扩展第10.6节的文本查询应用程序,使我们的系统可以支持更复杂的查询。 为了说明问题,将用下面的简单小说来运行查询: Alice Emma has long flowing red hair.
Her Daddy says when the wind blows
through her hair, it looks almost alive,
l...
分类:
编程语言 时间:
2014-05-18 04:15:13
阅读次数:
564
顺序容器:vector list deque顺序容器适配器: stack queue
priority_quequ(没见过,第一轮不管)C c; C c(c2); C c(b,e) ///b e 都是迭代器; c(n,t)///只用于顺序容器;
C c(n) ///只用于顺序容器const list...
分类:
编程语言 时间:
2014-05-17 23:43:37
阅读次数:
471
关联容器,完全没用过,一直想用,FUC,本文只介绍初级使用方式,不能贪多#include#include#include#includeusing
namespace std;typedef pair Auth;int main(){ map m; set s; Auth p1,p2,p3,p4; ...
分类:
编程语言 时间:
2014-05-17 22:46:09
阅读次数:
358