自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

MyDriverC

广博,创新

  • 博客(36)
  • 收藏
  • 关注

转载 模板类的定义和实现不能分开,只能写在.h中,否则链接的时候会报错

遇到了这个问题。网上查的的解决方法:http://bbs.csdn.net/topics/70416260注意c/c++模板的定义和实现- -                                       定义一个类一般都是在头文件中进行类声明,在cpp文件中实现,但使用模板时应注意目前的C++编译器还无法分离编译,最好将实现代码和声明代码均放在头文件

2013-09-30 16:27:21 2426

转载 c++中类的引用类型成员

class test {    private:        int &ref;    public:        test(int i):ref(i) {}        void print()const {            cout        }};int main() {    test

2013-09-27 19:03:21 1239

转载 C++中引用和指针的区别

http://blog.csdn.net/listening_music/article/details/6921608下面用通俗易懂的话来概述一下:指针-对于一个类型T,T*就是指向T的指针类型,也即一个T*类型的变量能够保存一个T对象的地址,而类型T是可以加一些限定词的,如const、volatile等等。见下图,所示指针的含义:引用-引用是一个对象的别

2013-09-27 19:00:43 522

转载 创建型、结构型、行为型模式

http://blog.csdn.net/wulingmin21/article/details/6753363目的创建型模式Creational Pattern结构型模式Structural Patterns行为型模式Behavioral Pattern概念创建

2013-09-26 18:09:50 1235

转载 装饰者模式

http://www.cnblogs.com/god_bless_you/archive/2010/06/10/1755212.html装饰者模式Decorator模式(别名Wrapper):动态将职责附加到对象上,若要扩展功能,装饰者提供了比继承更具弹性的代替方案。 意图:动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更

2013-09-26 18:04:37 510

转载 从桥接模式与策略模式谈起

http://www.blogjava.net/wangle/archive/2007/04/25/113545.html桥接(Bridge)模式是结构型模式的一种,而策略(strategy)模式则属于行为模式。以下是它们的UML结构图。在桥接模式中,Abstraction通过聚合的方式引用Implementor。 在策略模式中,Context也使用聚合

2013-09-26 17:53:37 560

转载 设计模式-----桥接模式(Bridge Pattern)

http://www.cnblogs.com/houleixx/archive/2008/02/23/1078877.html  学习设计模式也有一段时间了,今天就把我整理的一篇课程和大家分享,有不妥之处欢迎指出. 生活中的一个例子:    就拿汽车在路上行驶的来说。即有小汽车又有公共汽车,它们都不但能在市区中的公路上行驶,也能在高速公路上行驶。这你会发现,对于交通工具(汽

2013-09-26 17:50:41 463

转载 C#设计模式——生成器模式(Builder Pattern)

一、概述在软件系统中,有时候面临着复杂的对象创建,该对象由一定算法构成的子对象组成,由于需求变化,这些子对象会经常变换,但组合在一起的算法却是稳定的。生成器模式可以处理这类对象的构建,它提供了一种封装机制来隔离各类子对象的变化,从而保证系统的稳定。二、生成器模式生成器模式将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。其结构图如下:Builde

2013-09-26 17:41:39 719

转载 抽象工厂模式

一、 抽象工厂(Abstract Factory)模式抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。为了方便引进抽象工厂模式,引进一个新概念:产品族(Product Family)。所谓产品族,是指位于不同产品等级结构,功能相关联的产品组成的家族。如图: 图中一共有四个产品族,分布于三个不同的产品等级结构中。只要指明一个产品所处的产品族以及它所属

2013-09-26 15:20:50 547

转载 一句话总结GOF的23种设计模式

记录一下一、创建型模式    Abstract Factory:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。    Builder:将一个复杂对象的构件与它的表示分离,使得同样的构建过程可以创建不同的表述。    Factory Method:定义一个用于创建对象的接口,让子类决定将哪一个类实例化。Factory Method使一个类的实例化延迟

2013-09-26 14:41:59 484

转载 设计模式学习笔记-状态模式

1. 概述  当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。2. 解决的问题  主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同的一系列类当中,可以把复杂的逻辑判断简单化。3. 模式中的角色  3.1 上下文环境(Context):它定义了客户程序需要的接口并维护一个具体状态角色的实例,

2013-09-26 14:35:35 472

转载 小菜编程成长记(八 用“策略模式”是一种好策略)

http://www.cnblogs.com/cj723/archive/2007/03/21/682479.html(续上篇)       小菜次日来找大鸟,说:“《深入浅出设计模式》的第一章我看完了,它讲的是策略模式(Strategy)。『策略模式』定义了算法家族,分别封装起来,让它们之间可以互相替换, 此模式让算法的变化, 不会影响到使用算法的客户。看来商场收银系统应

2013-09-26 13:43:37 568

转载 设计模式学习笔记-迭代器模式 一般

概述:                                                                                                      迭代器模式(Iterator):提供一种方法顺序一个聚合对象中各个元素,而又不暴露该对象内部表示。实用场合:                                

2013-09-26 11:08:16 563

转载 双分派模式

在《GoF 23种设计模式模式解析附C++实现源码》和《设计模式解析之—Visitor模式》中,我给出了Visitor模式的诠释和示例实现源码。 个人觉得例子和解析还是能够比较清晰地为学习和掌握Visitor模式提供一些信息,但是对于其中的一个重要知识没有很好地解释, 这就是multi-dispatch(多分派),multi-dispatch(多分派)是Visitor模式的关键,实际上Vi

2013-09-26 10:55:50 2422 1

转载 访问者模式

总结:        访问者模式用于对不同节点进行操作的情况(如List的中的多个元素并不相同),如果将操作放在节点中,会增加节点的复杂性,并不易维护,如果将操作放在调用函数中,则会出现多个判断语句,对不同的节点做不同的操作,增加了节点和调用函数之间的耦合。为了解决这样的问题,在调用函数(对节点进行操作的函数)和节点之间增加了vistor的类,在vistor中实现对各个节点的操作。

2013-09-26 10:51:05 542

转载 观察者模式

一、 观察者(Observer)模式观察者模式又叫做发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自

2013-09-26 10:27:42 468

转载 命令模式

http://www.cnblogs.com/zhenyulu/articles/69858.html一、 命令(Command)模式命令(Command)模式属于对象的行为模式【GOF95】。命令模式又称为行动(Action)模式或交易(Transaction)模式。命 令模式把一个请求或者操作封装到一个对象中。命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求

2013-09-25 16:55:59 544

转载 职责链模式

行为模式(Behavioral Pattern)是对在不同的对象之间划分责任和算法的抽象化。行为模式不仅仅是关于类和对象的,而且是关于它们之间的相互作用的。行为模式分为类的行为模式和对象的行为模式两种。类的行为模式:类的行为模式使用继承关系在几个类之问分配行为。对象的行为模式:对象的行为模式则使用对象的聚合来分配行为。在后面将要介绍的行为模式包括以下几种:Chain

2013-09-25 16:27:46 488

转载 几本好书 要有面向对象的思想

面向对象分析与设计设计模式:可复用面向对象软件的基础敏捷软件开发:原则、模式与实践重构:改善既有代码的设计refactoring to patterns学习了面向对象语言,并不一定能够变出面向对象的好程序

2013-09-25 15:35:51 953

转载 Flyweight模式

http://blog.csdn.net/phoebin/article/details/3866404Flyweight享元设计模式是一种结构型设计模式,它主要解决的问题是:由于(同类)对象的数量太大,采用面向对象时给系统带来了难以承受的内存开销。比如有这样一个场景:一个停车场中有1000辆汽车,我们所定义的汽车对象占用内存0.3M,那么要实例化1000辆就是300M。由此可见,在这种情

2013-09-25 15:05:52 468

转载 设计模式--facade-结构型

http://blog.csdn.net/mydriverc/article/details/1716027如果需求不会变话那么设计模式将会不存在上帝给了人类的一个时间这个概念,让一切都变的。人  :出生,儿童,少年,青年,中年,老年,死亡。接口:接口跟外部交互尽量依赖高层抽象,不要依赖实现细节高层是相对稳定,底层是易碎意图(Intent)为子系统中

2013-09-25 14:52:32 536

转载 装饰(Decorator)模式

装饰(Decorator)模式:也叫包装模式,Adaptor模式也可以叫包装模式,不过有本质的区别,Adaptor模式没有使原有功能增强 Decorator模式使原有功能增强,而且不是通过子类来实现功能增强的。 装饰模式主要特色: 1.用来扩展特定对象的功能,不是扩充某个类的功能。 2.不需要子类,防止由于子类而导致的复杂和混乱 3.对于一个给定的对象,同事可能有不同的

2013-09-25 14:41:45 816

转载 23种设计模式(超级简洁)

这个设计模式参考提供四人帮23种模式的快速参考,像原书《设计模式-可复用面向对象基础》中所陈述的,每个模式包括,类图,解释,使用说明和实际例子。 创建模式:用来构建对象以便能从实现系统解耦。结构模式:用不同的对象组成大规模的对象结构。行为模式:用来在对象中管理算法,关系,和责任。 对象层面:处理对象之间的关系,决定于运行期。类层面:处理类的关系,决定于在编译期。 

2013-09-25 13:41:31 565

转载 23种设计模式

目录创建型1. Factory Method(工厂方法)2. Abstract Factory(抽象工厂)3. Builder(建造者)4. Prototype(原型)5. Singleton(单例)结构型6. Adapter Class/Object(适配器)7. Bridge(桥接)8. Composite(组合)9. Decorator(装饰)

2013-09-25 13:40:40 476

转载 对象适配器与类适配器

什么是适配器(Adapter)?顾名思义就是为了配合你新的需求把某个东西调配成合适你用的东西,就是适配器,是个人的解释哈。那么对象适配器与类适配器两者有什么区别?通过下面举例子来说明。             【鸟】              /   \        【鸡】 【鹰】上面这个图是我随便画的哈,懒得用画图了。解释下,就是

2013-09-25 13:31:53 745

转载 c++ 初始化顺序

C++构造函数调用顺序1.     如果类里面有成员类,成员类的构造函数优先被调用;2.     创建派生类的对象,基类的构造函数优先被调用(也优先于派生类里的成员类);3.     基类构造函数如果有多个基类,则构造函数的调用顺序是某类在类派生表中出现的顺序而不是它们在成员初始化表中的顺序;4.     成员类对象构造函数如果有多个成员类对象,则构造函数的调用顺序

2013-09-11 17:42:04 608

转载 C++初始化与赋值

http://www.cnblogs.com/chio/archive/2008/10/06/1305145.html 先来个区别说明:赋值操作是在两个已经存在的对象间进行的,而初始化是要创建一个新的对象,并且其初值来源于另一个已存在的对象。编译器会区别这两种情 况,赋值的时候调用重载的赋值运算符,初始化的时候调用拷贝构造函数。如果类中没有拷贝构造函数,则编译器会提供一个默认的。这个默

2013-09-11 17:38:33 509

转载 函数指针模板

http://www.cnblogs.com/xianyunhe/archive/2011/11/27/2265148.html转载请注明原文链接。原文链接:http://www.cnblogs.com/xianyunhe/archive/2011/11/27/2265148.html 指向一般函数的指针可实现对参数类型、参数顺序、返回值都一样的函数进行

2013-09-11 14:11:06 527

转载 指向模板类成员函数的函数指针

http://blog.csdn.net/templarzq/article/details/8047154c++标准不支持模板函数指针,比如:[cpp] view plaincopytemplate typename Type>  typedef int (* Func) (constType& type);//提示

2013-09-11 11:30:28 757

转载 模板 虚函数

http://bbs.csdn.net/topics/340247978按我的阅读和设计经验,一个体系结构如果要用模板,那么这个体系里应该全都是模板,如果实在要公开某些虚基类,一般在模板继承链中最底层(最后派生层)实现基类函数(除非有特殊需求),但前提是这个虚基类的成员参数不能是模板。在模板世界里,虚函数除了增加虚表大小和降低运行性能,没有实际意义。STL/ATL/WTL是典型的全模板

2013-09-11 11:19:47 1022

转载 binary_function函数用法

转自:http://blog.csdn.net/yzm365487848/article/details/5568496大多数情况,不需要用到binary_function! 如果你在定义一个二元的functor时,几乎可以不用管这个binary_function。但是如果你使用一些function adapter的时候就需要了,这其实是在实现一种concept. 比如,定

2013-09-11 09:54:50 3084

转载 简单模板类

2简单模板类在上面的例子中,我们排序的对象始终是数组,这些数组可以是int也可以是double,还可以是其他类型,那么是不是也能像函数模板一样,有类模板呢?答案是有的。我们可以写一个模板数组类:templateclass Array {T * _data;int _maxsize;public:typedef T * iterator;//定义迭

2013-09-04 10:50:06 466

转载 C++11 FAQ中文版:std::function 和 std::bind

三2Year 2011陈 良乔C++11 FAQstd::function 和 std::bind标准库函数bind()和function()定义于头文件中(该头文件还包括许多其他函数对象),用于处理函数及函数参数。bind()接受一个函数(或者函数对象,或者任何你可以通过”(…)”符号调用的事物),生成一个其有某一个或多个函数参数被“绑定”或重新组织的函数对象。(译注:顾

2013-09-02 19:16:27 484

转载 C++ STL 学习 :for_each与仿函数(functor)

C++ STL 学习 :for_each与仿函数(functor)(一)摘自网络作者: zieckey  时间: 2010-07-20 13:38:00先看wikipedia定义:A function object, also called a functor, functional, or functionoid,[1]  is a computer progra

2013-09-02 19:15:15 636

转载 c++ STL仿函数

仿函数:行为具有函数功能的class的对象就是仿函数。 仿函数一般有成员函数  ret_type operator()(arguments)const; 仿函数的优点:1.仿函数是对象,可以拥有成员函数和成员变量,即仿函数拥有状态(states)2.每个仿函数都有自己的类型3.仿函数通常比一般函数快(很多信息编译期确定) 例如: 

2013-09-02 19:10:34 678

转载 定义指向模板函数的函数指针类型

http://bbs.csdn.net/topics/390010520C/C++ code?12345template typename PktType>typedef int (* CallbackFunPtrType) (const PktType& CurPkt);/

2013-09-02 19:04:45 6406

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除