摘要: 作用:将一个类的接口转换成客户希望的另外一个接口。Adapt 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。UML示意图1)采用继承原有接口类的方式2)采用组合原有接口类的方式解析:Adapt模式其实就是把完成同样的一个功能但是接口不能兼容的类桥接在一起使之可以在一起工作,这个模式使得复用旧的接口成为可能.实现:Adapt模式有两种实现办法,一种是采用继承原有接口类的方法,一种是采... 阅读全文
posted @ 2010-11-27 20:13 忧郁的加菲猫 阅读(1370) 评论(0) 推荐(0)
摘要: 作用:保证一个类仅有一个实例,并提供一个访问它的全局访问点。UML结构图:解析: Singleton模式其实是对全局静态变量的一个取代策略,上面提到的Singleton模式的两个作用在C++中是通过如下的机制实现的: 1)仅有一个实例,提供一个类的静态成员变量,大家知道类的静态成员变量对于一个类的所有对象而言是惟一的 2)提供一个访问它的全局访问点,也就是提供对应的访问这个静态成员变量的静态成员... 阅读全文
posted @ 2010-11-27 16:40 忧郁的加菲猫 阅读(539) 评论(0) 推荐(0)
摘要: Abstract Factory模式(抽象工厂模式):提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。Abstract Factory模式和Factory最大的差别就是抽象工厂创建的是一系列相关的对象,其中创建的实现其实采用的就是Factory模式的方法,对于某个实现的有一个派生出来的抽象工厂,另一个实现有另一个派生出来的工厂。uml图抽象基类:  1)ProductA,Pro... 阅读全文
posted @ 2010-11-27 16:10 忧郁的加菲猫 阅读(472) 评论(0) 推荐(0)
摘要: Builder模式(建造者模式):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。适用于以下情况: 1、当创建复杂对象算法应该独立于该对象的组成部分以及它们的装配方式时。 2、当构造过程必须允许被构造的对象有不同的表示时。uml图抽象基类: 1)Builder:这个基类是全部创建对象过程的抽象,提供构建不同组成部分的接口函数接口: 1)Builder::BuildPart... 阅读全文
posted @ 2010-11-27 16:10 忧郁的加菲猫 阅读(1495) 评论(0) 推荐(0)
摘要: 作用: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。UML结构图: 抽象基类: 1)Prototype:虚拟基类,所有原型的基类,提供Clone接口函数接口函数: 1)Prototype::Clone函数:纯虚函数,根据不同的派生类来实例化创建对象.解析: Prototype模式其实就是常说的"虚拟构造函数"一个实现,C++的实现机制中并没有支持这个特性,但是通过不同派生类实现... 阅读全文
posted @ 2010-11-27 16:10 忧郁的加菲猫 阅读(327) 评论(0) 推荐(0)
摘要: Factory模式(工厂模式):定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory模式使一个类的实例化延迟到其子类。两个最重要的功能:  1. 定义创建对象的接口,封装了对象的创建;  2. 使得具体化类的工作延迟到了子类中。uml图抽象基类:  1)Product:创建出来的对象的抽象基类.  2)Factory创建对象的工厂方法的抽象基类.接口函数:  1)Creator::... 阅读全文
posted @ 2010-11-27 16:09 忧郁的加菲猫 阅读(821) 评论(0) 推荐(0)
摘要: error C2146: syntax error : missing ';' before identifier 'PVOID64'原因:由 directdraw 的升级引起,POINTER_64是一个宏,在64位编译下起作用,它包含在SDK目录下的BASETSD.H中(Microsoft Visual Studio 8\VC\PlatformSDK\Include\basetsd.h(23):... 阅读全文
posted @ 2010-09-29 17:33 忧郁的加菲猫 阅读(4852) 评论(0) 推荐(0)
摘要: 摘要:  本文从介绍基础概念入手,探讨了在C/C++中对日期和时间操作所用到的数据结构和函数,并对计时、时间的获取、时间的计算和显示格式等方面进行了阐述。本文还通过大量的实例向你展示了time.h头文件中声明的各种函数和数据结构的详细使用方法。关键字:UTC(世界标准时间),Calendar Time(日历时间),epoch(时间点),clock tick(时钟计时单元)1.概念  在 C/C++... 阅读全文
posted @ 2010-09-16 15:42 忧郁的加菲猫 阅读(1369) 评论(1) 推荐(1)
摘要: 一、预定义__GNUC__宏 1 __GNUC__ 是gcc编译器编译代码时预定义的一个宏。需要针对gcc编写代码时, 可以使用该宏进行条件编译。 2 __GNUC__ 的值表示gcc的版本。需要针对gcc特定版本编写代码时,也可以使用该宏进行条件编译。 3__GNUC__ 的类型是“int”,该宏被扩展后, 得到的是整数字面值。可以通过仅预处理,查看宏扩展后的文本。示例:... 阅读全文
posted @ 2010-09-05 16:49 忧郁的加菲猫 阅读(15054) 评论(1) 推荐(0)
摘要: 1 Unicode编码表  Unicode只有一个字符集,中、日、韩的三种文字占用了Unicode中0x3000到0x9FFF的部分 Unicode目前普遍采用的是UCS-2,它用两个字节来编码一个字符,比如汉字"经"的编码是0x7ECF,注意字符编码一般用十六进制来表示,为了与十进制区分,十六进制以0x开头,0x7ECF转换成十进制就是32463,UCS-2用两个字节来编码字符,两个字节就是16... 阅读全文
posted @ 2010-07-06 16:07 忧郁的加菲猫 阅读(134895) 评论(10) 推荐(6)