自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(75)
  • 资源 (9)
  • 收藏
  • 关注

转载 设计模式C++学习笔记之十三(Decorator装饰模式)

设计模式C++学习笔记之十三(Decorator装饰模式)装饰模式,动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。13.1.解释main(),老爸ISchoolReport,成绩单接口CFourthGradeSchoolReport,四年级成绩单ReportDecorator,成绩单装饰器基类HighScoreDec

2012-11-23 10:49:54 298

转载 设计模式C++学习笔记之十二(Command命令模式)

设计模式C++学习笔记之十二(Command命令模式)命令模式,将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。应该是一个比较简单的模式了。 12.1.解释 main(),客户 CInvoker,命令接收者,如项目经理 IGroup,执行者接口 CRequirementGroup,实际执行者之一C

2012-11-23 10:41:07 449

转载 设计模式C++学习笔记之十一(Bridge桥梁模式)

设计模式C++学习笔记之十一(Bridge桥梁模式)桥梁模式,将抽象部分与它的实现部分分离,使它们都可以独立地变化。实现分离的办法就是增加一个类,11.1.解释main(),客户IProduct,产品接口CHouse,房子CIPod,ipodCClothes,服装CNewCorp,桥梁类,MakeMoney()是桥梁方法CNewHouseCorp,只能生产房

2012-11-23 10:36:31 358

转载 设计模式C++学习笔记之二(Proxy代理模式)

设计模式C++学习笔记之二(Proxy代理模式)代理,一看名字就知道这只是个中介而已,真实的执行者在代理的后面呢。cbf4life在他的书里提的例子也很有趣,更详细的内容及说明可以参考原作者博客:cbf4life.cnblogs.com。现在贴代码,以方便随用随取。2.1.解释main(),西门庆IKindWomen,接口CWangPo,代理CPanJinLian,实际

2012-11-23 10:31:19 320

转载 SendMessage 和 PostMessage 的区别

SendMessage 和 PostMessage 的区别1、首先是返回值意义的区别,我们先看一下 MSDN 里的声明:LRESULT SendMessage(        HWND hWnd,        UINT Msg,        WPARAM wParam,        LPARAM lParam);BOOL PostMessage(

2012-11-23 10:22:31 439

转载 共享内存实现进程间数据的交换(VC)

共享内存实现进程间数据的交换(VC)转载自:http://hi.baidu.com/joytip/blog/item/ce409fdba0b58861d0164ebf.html共享内存的使用  在Windows操作系统下,任何一个进程不允许读取、写入或是修改另一个进程的数据(包括变量、对象和内存分配等),但是在某个进程内创建的文件映射对象的视图却能够为多个其他进程所映射,这些进程共享的

2012-11-23 10:07:54 905

转载 开源C++函数库Boost内存池使用与测试

oost库是一个可移植的开源C++函数库,鉴于STL(标准模板库)已经成为C++语言的一个组成部分,可以毫不夸张的说,Boost是目前影响最大的通用C++库。Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容,是一个“准”标准库。  Boost内存池,即boost.pool库,是由Boost提供的一个用于内存池管理的开源C++库。作为Boost中影响较大

2012-11-23 00:08:44 1251

转载 设计模式C++学习笔记之十(Builder建造者模式)

设计模式C++学习笔记之十(Builder建造者模式)建造者模式,将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。一段晦涩难懂的文字,实现创建不同表示的方法就是给创建的过程传入创建的参数。详细的还是看代码吧。10.1.解释main(),客户CCarModel,产品模型CBenzModel,奔驰模型CBMWModel,宝马模型ICarBuil

2012-11-22 23:35:57 331

转载 设计模式C++学习笔记之九(Template Method模板方法模式)

设计模式C++学习笔记之九(Template Method模板方法模式)模板模式也是相当简单的一种模式,而且是比较常用的。模板模式是定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。TemplateMethod使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。cbf4life举的例子是悍马车模型,更详细的例子说明可以参考原作者博客:cbf4life.cnblogs.com。这

2012-11-22 23:27:26 295

转载 设计模式C++学习笔记之八(Adapter适配器模式)

设计模式C++学习笔记之八(Adapter适配器模式)适配器模式,使用之处比较特殊,不属于常规设计模式,主要用于不同系统之间的处理。是将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。也是一个比较简单的模式,直接上代码了。看代码:8.1.解释main(),主程序IUserInfo,本系统内接口CUse

2012-11-22 23:17:18 381

转载 设计模式C++学习笔记之六(AbstractFactory抽象工厂模式)

设计模式C++学习笔记之六(AbstractFactory抽象工厂模式)抽象工厂,提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。对于工厂方法来说,抽象工厂可实现一系列产品的生产,抽象工厂更注重产品的组合。看代码:7.1.解释main(),女娲IHuman,产品接口CYellowHuman,抽象产品之一CYellowFemaleHuman,具体产

2012-11-22 23:11:01 356

转载 设计模式C++学习笔记之七(Facade门面模式)

设计模式C++学习笔记之七(Facade门面模式)Facade门面模式,也是比较常用的一种模式,基本上所有软件系统中都会用到。GOF在《设计模式》一书中给出如下定义:为子系统中的一组接口提供一个一致的界面, Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。简单说,就是将复杂的逻辑封装起来,对外公开简单的接口,由客户程序调用。这里举了一个发送邮件的例子,我们理解为

2012-11-22 23:03:52 412

转载 设计模式C++学习笔记之五(Factory Method工厂方法模式)

设计模式C++学习笔记之五(Factory Method工厂方法模式)工厂方法模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂角色的情况下引进新的产品。这个例子更详细的内容及说明可以参考原作者博客:cbf

2012-11-22 22:56:07 384

转载 设计模式C++学习笔记之四(Multition多例模式)

设计模式C++学习笔记之四(Multition多例模式)多例模式,这个在GOF的模式设计里没有提到,但在实际工作中确实会用到。更详细的内容及说明可以参考原作者博客:cbf4life.cnblogs.com。4.1.解释main(),客户略说明:和单例基本一样,是有个数限制的单例。如果对于产生的实例个数没有限制,那就不是多例了,和普通的类没有区别。举例:曾经开发过一个从服

2012-11-22 22:54:28 424

转载 设计模式C++学习笔记之三(Singleton单例模式)

设计模式C++学习笔记之三(Singleton单例模式)单例模式看起来也蛮简单的,就是在系统中只允许产生这个类的一个实例,既然这么简单,就直接贴代码了。更详细的内容及说明可以参考原作者博客:cbf4life.cnblogs.com。3.1.解释main(),大臣CEmperor,需要单例的类说明:很多大臣拜见的皇帝,只有一个。体现在面向对象方面,CEmperor定义一个静态

2012-11-22 22:46:01 299

转载 设计模式C++学习笔记之二(Proxy代理模式)

设计模式C++学习笔记之二(Proxy代理模式)代理,一看名字就知道这只是个中介而已,真实的执行者在代理的后面呢。cbf4life在他的书里提的例子也很有趣,更详细的内容及说明可以参考原作者博客:cbf4life.cnblogs.com。现在贴代码,以方便随用随取。2.1.解释main(),西门庆IKindWomen,接口CWangPo,代理CPanJinLian,实际

2012-11-22 22:40:35 352

转载 设计模式C++学习笔记之一(Strategy策略模式)

设计模式C++学习笔记之一(Strategy策略模式)无意中,从网上下到一本电子书《24种设计模式介绍与6大设计原则》,很好奇这里有24种设计模式,印象中GOF写的《设计模式》(Design Patterns),好像只有23种吧。运行起来一看,还真挺吸引咱的,里面提到的例子都很有趣。很感谢作者写出这样好的例子来,我的目的是把作者提到的例子用C++来实现。写这本书的作者是:cbf4life,

2012-11-22 22:33:27 375

转载 ASSERT什么时候用?怎么用?

ASSERT什么时候用?怎么用?ASSERT()是一个调试程序时经常使用的宏,在程序运行时它计算括号内的表达式,如果表达式为FALSE (0), 程序将报告错误,并终止执行。如果表达式不为0,则继续执行后面的语句。这个宏通常原来判断程序中是否出现了明显非法的数据,如果出现了终止程序以免导致严重后果,同时也便于查找错误。    ASSERT只有在Debug版本中才有效,如果编译为Rele

2012-11-22 22:26:47 1870

转载 explicit和implicit关键字

explicit和implicit关键字(转)换了工作,不使用.net了,改用c++,很多c++基础知识本就不熟,再加上这么长时间没碰过,基本忘光了。C#中有explicit和implicit两个关键字,但c++中只有explicit一个关键字。而且explicit在c++中使用范围还很窄,只能用来修饰类的构造函数。而且还只是在类的构造函数只有一个参数或有多个参数但仅有一个参数没有

2012-11-22 17:05:45 2522

转载 加一个throw()到函数中

加一个throw()到函数中?这是异常规范,只会出现在声明函数中,表示这个函数可能抛出任何类型的异常void GetTag() throw(int);表示只抛出int类型异常void GetTag() throw(int,char);表示抛出in,char类型异常void GetTag() throw();表示不会抛出任何类型异常void GetTag() throw(..

2012-11-22 17:01:02 395

转载 C++静态成员函数小结(转)

类中的静态成员真是个让人爱恨交加的特性。我决定好好总结一下静态类成员的知识点,以便自己在以后面试中,在此类问题上不在被动。 静态类成员包括静态数据成员和静态函数成员两部分。 一 静态数据成员: 类体中的数据成员的声明前加上static关键字,该数据成员就成为了该类的静态数据成员。和其他数据成员一样,静态数据成员也遵守public/protected/private访问规则。同时

2012-11-22 15:57:39 278

转载 Mutable keyword

mutable member-variable-declaration;This keyword can only be applied to non-static and non-const data members of a class. If a data member is declared mutable, then it is legal to assign a value to

2012-11-22 15:46:07 322

转载 Const Reference

C/C++ code?1234int i  = 2000;const int &refI = i; //i不是const,但refI是。++i1、引用就是被引用变量的别名。只要“被引用变量(i)”和“引用变量(refI)”二者其一“合法地”改变,那么另一个肯定就会变。2、const 型引用又是一种特殊情

2012-11-22 15:30:32 562

转载 c++默认的拷贝构造函数是浅拷贝

c++默认的拷贝构造函数是浅拷贝浅拷贝就是对象的数据成员之间的简单赋值,如你设计了一个没有类而没有提供它的复制构造函数,当用该类的一个对象去给令一个对象赋值时所执行的过程就是浅拷贝,如:class A { public: A(int _data) : data(_data){} A(){}private: int data; };int main() { A a(5), b = a

2012-11-22 15:06:44 2345

转载 c++中static的全部用法

要理解static,就必须要先理解另一个与之相对的关键字,很多人可能都还不知道有这个关键字,那就是auto,其实我们通常声明的不用static修饰的变量,都是auto的,因为它是默认的,就象short和long总是默认为int一样;我们通常声明一个变量:int a;string s;  其实就是:auto int a;auto string s;而static变量的声明是:

2012-11-22 12:22:35 353

转载 关于D3D中AGP显存,内存,显存三种内存的解释

看到D3D的粒子这章时发觉自己对三种显卡使用的内存理解还不够所以就到网上大海捞针了一把,最后在gamedev.net的论坛里找到一个陈年老帖里面老外讲的头头是道,一语惊醒我这梦中人啊!     三种内存AGP内存,显卡本地内存,系统内存,其中我们都知道显卡本地内存就是显存,系统内存就是咱那内存条,那这AGP内存是个啥玩意啊?其实是因为在以前显卡内存都很小,那时还是在显存是16M,32M为主流的

2012-11-22 10:39:22 2615

转载 不改变正负数之间相对顺序重新排列数组

不改变正负数之间相对顺序重新排列数组一个未排序整数数组,有正负数,重新排列使负数排在正数前面,并且要求不改变原来的正负数之间相对顺序。比如: input: 1,7,-5,9,-12,15 ,ans: -5,-12,1,7,9,15 。且要求时间复杂度O(N),空间O(1)说一个O(n)时间,O(1)空间的方法。 开一个Int[32]数组,可以在O(n

2012-11-22 00:22:52 2382

转载 一个数组存放了2n+1个整数,其中有n个数出现了2次,1个数出现了1次,找出出现1次的数是多少?

//方法四:异或运算(博客园这位帅哥牛) //异或运算 0与任何数异或等于任何数,相等的两个数异或等于0, //也就是两个数对应的二进制位进行异或运算;0^0=0 , 1^0=1 , 0^1=1 , 1^1=0 //出现偶数次都完蛋了,就剩下出现奇数次的了 public int FindSpecial(int[

2012-11-21 23:49:46 1796 1

转载 算法--找出数组中出现次数超过一半的数

算法--找出数组中出现次数超过一半的数作者:陈太汉算法--找出数组中出现次数超过一半的数     每当我看到经典的算法题,就怀念高中,感觉很多算法题就是高中的题目,谁叫哥只读了个专科,高数基本相当没学。     有空要看看高数啊,想当年数学那是相当的......#include using namespace std;class FindTheOne{p

2012-11-21 23:34:26 530

转载 Architecting Microsoft® .NET Solutions for the Enterprise

IntroductionGood judgment comes from experience, and experience comes from bad judgment.—Fred BrooksEvery time we are engaged on a software project, we create a solution. We call the process

2012-11-14 14:46:48 1178

转载 UML Diagrams

UML DiagramsUML 2.0 has 13 different types of diagrams, articulated in two groups:structural and behavioral. Structural diagrams define classes as well as their attributes, operations, and relatio

2012-11-14 11:09:26 543

转载 c# seal的用法

sealed的中文意思是密封,故名思义,就是由它修饰的类或方法将不能被继承或是重写。        sealed关键字的作用:     在类声明中使用sealed可防止其它类继承此类;在方法声明中使用sealed修饰符可防止扩充类重写此方法。  sealed修饰符主要用于防止非有意的派生,但是它还能促使某些运行时优化。具体说来,由于密封类永远不会有任何派生类,所以对密封类的

2012-11-13 16:20:46 814

转载 c#工厂模式与抽象工厂模式

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://zhanghf.blog.51cto.com/193856/33327  工厂模式与抽象工厂模式,相信同行不会陌生.在网上及相关书里面也看过这方面的介绍(推荐这两本书:Steven John Metsker's Design Patterns in C# 和 Gof

2012-11-13 15:49:04 343

转载 Trace

How to: Add Trace Statements to Application Code.NET Framework 4 Other Versions .NET Framework 4.5.NET Framework 3.0Visual Studio 2005.NET Framework 3.5.NET Framewo

2012-11-13 09:24:23 444

转载 Static Classes and Static Class Members

Static Classes and Static Class Members (C# Programming Guide)Visual Studio 2005 Other Versions Visual Studio 2012Visual Studio 2010Visual Studio 2008286 out of

2012-11-13 09:22:37 462

Emacs_生存指南

转的文章,对于emacs入门非常有用.里面还有很多链接,都是干货

2013-01-02

Effective C# 2ndEdition.pdf

C# 的必读书目,和effective c++ 风格类似

2012-11-30

空空如也

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

TA关注的人

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