摘要: enum Status{KValid=0,KInvalid};int g_nStatus=KValid;int StrToInt(const char *str){ g_nStatus=KInvalid; long num=0; if(str!=NULL||*str!='\0') { bool minus=false; if(*str=='+') str++; else if(*str=='-') { str++; minus=true } if(*str!='0') { ... 阅读全文
posted @ 2013-05-11 21:49 liyunyu1 阅读(262) 评论(0) 推荐(0) 编辑
摘要: JAVA中包括成员变量的定义和方法的定义,而成员变量的定义又包括类变量和实例变量的定义:其中用static 修饰的是类变量,而其他是实例变量。 实例变量和类变量的区别:一个类通过使用new 运算符可以创建多个不同的对象,这些对象被分配不同的内存空间,,即不同对象的实例变量被分配的内存空间不同;但是所有对象的类变量都被分配相同的一处内存,改变其中一个对象的这个类变量会影响其他对象的这个类变量。即对象共享变量。当java程序执行时,类的字节码文件被加载到内存,如果该类没有创建对象,类中的实例变量不会被分配内存。但是,类中的类变量在该类被加载到内存时,就分配了相应的内存空间。如果该类创建对象,那么. 阅读全文
posted @ 2013-05-06 09:37 liyunyu1 阅读(1629) 评论(0) 推荐(0) 编辑
摘要: void RemoveNode(ListNode** pHead,int value){ if(pHead==NULL||*pHead==NULL) return; ListNode*pToBeDeleted=NULL; if((*pHead)->m_nValue==value) { pToBeDeleted=*pHead; *pHead=(*pHead)->m_pNext; } else { ListNode*pNode=*pHead; while(pNode->m_pNext!=NULL&&pNode-... 阅读全文
posted @ 2013-04-21 21:00 liyunyu1 阅读(184) 评论(0) 推荐(0) 编辑
摘要: This is a book about programming in C++.In praticular,it is first a book about programming and then a book about C++.In that sense,it is very different from most kooks about C++,which concentrate on what the language is rather than on how to use it. Is the best author the one who knows the most word 阅读全文
posted @ 2013-04-19 12:37 liyunyu1 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 一、初识中介者模式那些年,我们一起上过的大学,班级里有班长,有团书记。想一想如果没有QQ这种通讯工具的话,那么班长或者团支书该怎样下达消息呢??同时,班级上两个同学之间也可惜沟通啊,沟通一下,院里哪个女生,哪个帅哥呀~~~如果没有QQ的话,大概就是下面的情景:哎呀呀,看看这个乱那。如果同学的数目多起来就会变成网状的结构啦。原本把一个系统分割成一些对象是可以增强复用性的,但是现在的情况是,这些兑现之间存在着大量的联系,耦合性极高。这是很不利于复用的,同时这种情况使得系统的灵活性大大的降低,使得对系统的扩展很难,要是新转来一个学生的话,要改动的地方就多了去了。如果现在可以使用QQ,那么可以采用另一 阅读全文
posted @ 2013-04-14 21:42 liyunyu1 阅读(332) 评论(0) 推荐(0) 编辑
摘要: 摘要:内存管理向来是C/C++程序设计的一块雷区,大家都不怎么愿意去碰她,但是有时不得不碰它。虽然利用C++中的smart pointer已经可以完全避免使用指针,但是对于对于指针的进一步了解,有助于我们编写出更有效率的代码,也有助于我们读懂以前编写的程序。 五大内存分区 在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。 堆,就是那些由new分配的内... 阅读全文
posted @ 2013-04-14 14:42 liyunyu1 阅读(109) 评论(0) 推荐(0) 编辑
摘要: “唉!我没那种命啦,轮也不会轮到我,爱情老是缺货,我争什么?”一大清早就手机响,把我春天的梦都吵没了。“喂,谁啊,大清早的还要不要人睡觉啦?”“师傅,是我啦,小刘!”“是你呀,是不是看我给你发的装饰器模式代码有问题要问我啦?”“才不是啊,我可没那么笨,你的资料一看就懂了,有你这位大虾指导,我的设计模式之路无比光明!今天找你是有其它事情啦!”“别拍马屁了,有什么事情就快说吧!”“嗯,是这样的,为了答谢师傅的耐心指导,准备今天约师傅看电影,不知师傅肯赏脸否?”哇,这可是天上掉下来的美差啊,抑制住心中的喜悦,淡淡的说:“我得看看今天的行程,这样吧,一会我回电话给你吧!”“哦,这样啊,那好吧,等你电话 阅读全文
posted @ 2013-04-12 21:42 liyunyu1 阅读(249) 评论(0) 推荐(0) 编辑
摘要: Decorator模式一 意图 动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。——包装器Wrapper。二 动机 有时我们希望给某个对象而不是整个类添加一些功能。例如,一个图形用户界面工具箱允许你对任意一个用户界面组件添加一些特性,例如边框,或是一些行为,例如窗口滚动。使用继承机制是添加功能的一种有效途径,从其他类继承过来的边框特性可以被多个子类的实例所使用。但这种方法不够灵活,因为边框的选择是静态的,用户不能控制对组件加边框的方式和时机。 一种较为灵活的方式是将组件嵌入另一个对象中,由这个对象添加边框。我们称这个嵌入的对象为装饰。这个装... 阅读全文
posted @ 2013-04-12 21:40 liyunyu1 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 老樊,你这次去山西出差得多久啊?”小刘在电话那头说。“呃……这回我过来手头上兼着三个项目,估计得有段时间啊!你不知道来山西这几天我有多累啊,写文档写到手都要抽筋了!”“那你可得注意休息啊,上次你给我说的那两个设计模式我已经很熟练了,你啥时候教我新的设计模式啊?”“这样吧,等我把手头上的这个需求分析写完,我就给你电话。”写文档时间过得很快,一转眼就到深夜了。酒店很安静,但是我的思绪却清晰不起来,用户需求中有一部分始终不能很好的理解,也许是想了一天,大脑零件也该断电休息休息了。躺在床上怎么也睡不着,老觉得有件事情还没做,仔细想想才记起今天答应给小刘讲设计模式了。发条短信过去试探试探看看她睡没,“小 阅读全文
posted @ 2013-04-12 20:57 liyunyu1 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 一、组合模式简介(Brief Introduction)组合模式,将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。二、解决的问题(What To Solve)解决整合与部分可以被一致对待问题。三、组合模式分析(Analysis)1、组合模式结构Component类:组合中的对象声明接口,在适当情况下,实现所有类共有接口的行为。声明一个接口用于访问和管理Component的子部件Leaf类:叶节点对象,叶节点没有子节点。由于叶节点不能增加分支和树叶,所以叶节点的Add和Remove没有实际意义。有叶节点行为,用来存储叶节点集合Compos 阅读全文
posted @ 2013-04-12 19:42 liyunyu1 阅读(225) 评论(0) 推荐(0) 编辑