摘要: #include "stdio.h"void strcut(char *s, char *sub,int m, int n) //用参数sub来保存结果,所以函数不用返回值了{int i;for (i=0;i<n;i++)sub[i]=s[m+i-1];sub[i]='\0';}main(){char ps[20]; //用来保存截取子串的必须是数组,不能是指针static char s[]="goodmorning";strcut (s,ps,3,4);printf ("%s\n",ps);} 阅读全文
posted @ 2012-03-27 22:08 笑笑小白 阅读(1142) 评论(0) 推荐(0)
摘要: 传说这是一道很经典的面试题。很多童鞋都秉承正常人的思维,老老实实写下了倒转判断的代码。谁会想到用union呢?union有一个特性:其存放顺序是所有成员都从低地址开始存放。有没有一点灵感?其实什么是巧妙,就是利用融会贯通罢了。代码如下:?1234567891011121314151617181920212223#include <iostream>using namespace std;int checkCPU();int main(){if(checkCPU())cout << "你的CPU是小端机." << endl;else cou 阅读全文
posted @ 2012-03-27 14:34 笑笑小白 阅读(938) 评论(0) 推荐(0)
摘要: 下面为string.h文件中函数的详细用法,附加实例:1、strcpy 函数名: stpcpy 功 能: 拷贝一个字符串到另一个 用 法: char *stpcpy(char *destin, char *source); 程序例: #include <stdio.h> #include <string.h> int main(void) { char string[10]; char *str1 = "abcdefghi"; stpcpy(string, str1); printf("%s\n", string); return 阅读全文
posted @ 2012-03-27 13:48 笑笑小白 阅读(2867) 评论(0) 推荐(0)
摘要: string.h文件中函数的详细用法 下面为string.h文件中函数的详细用法,附加实例:1、strcpy 函数名: strcpy 功 能: 拷贝一个字符串到另一个 用 法: char *strcpy(char *destin, char *source); 程序例: #include <stdio.h> #include <string.h> int main(void) { char string[10]; char *str1 = "abcdefghi"; strcpy(string, str1);printf("%s\n" 阅读全文
posted @ 2012-03-27 11:57 笑笑小白 阅读(34588) 评论(4) 推荐(1)
摘要: 对于职责链模式,一般是这么定义的:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系,即——将这些对象连成一条(处理)链,并沿着这条链传递该请求,直到这条链结束同时有一个对象处理它为止。最经典的职责链模式应用就是JavaEE规范中web.xml的filter了,filters按照配置的顺序,依次处理根据其mapping条件过滤得到的web请求(response)/应答(request),从而可以实现诸如编码转换、事务封装、页面缓存等众多“职责”。给出职责链模式的适用范围:1、有多个的对象可以处理一个请求,哪个对象处理该请求运行时刻自动确定。2、想在不明确指定接收者的情况下, 阅读全文
posted @ 2012-03-26 22:18 笑笑小白 阅读(236) 评论(0) 推荐(0)
摘要: 责任链模式是一种对象的行为模式【GOF95】。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递, 直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新 组织链和分配责任。从击鼓传花谈起击鼓传花是一种热闹而又紧张的饮酒游戏。在酒宴上宾客依次坐定位置,由一人击鼓,击鼓的地方与传花的地方是分开的,以示公正。开始击鼓时,花束就开始依次传递,鼓声一落,如果花束在某人手中,则该人就得饮酒。击鼓传花便是责任链模式的应用。责任链可能是一条直线、一个环链或者一个树结构的一部分。二 阅读全文
posted @ 2012-03-26 22:06 笑笑小白 阅读(300) 评论(0) 推荐(0)
摘要: 本文以项目中的一个工作流模块,演示责任链模式、策略模式、命令模式的组合实现!流程简介最近在做的一个项目,涉及到的是一个流程性质的需求。关于工程机械行业的服务流程:服务任务流程和备件发运流程。项目之初,需求不是很清晰,算是演化模型吧。先出一个简单版本,然后根据用户的使用情况,再进一步探测新需求。所以也就是说这两个流程中的每一步暂时都不是固定的,而应该是可配置、可增减的。目前暂定的两个流程示意图如下:以上为两个流程的大致过程,当然实际过程中,可能还要走其他的流程。但是,仔细分析,你会看到。不管有多少个中间步骤,它们始终都对应着它们在该流程中所处的状态:/// <summary>/// 阅读全文
posted @ 2012-03-26 21:48 笑笑小白 阅读(2950) 评论(2) 推荐(0)
摘要: 【51CTO独家特稿】在上期的《PHP设计模式漫谈》中,我们讲到了PHP的代理模式,本节我们将继续深入PHP设计模式,讲解的行为模式是责任链模式,其目的是组织一个对象链处理一个如方法调用的请求。当ConcreteHandler(具体的处理程序)不知道如何满足来自Client的请求时,或它的目的不是这个时,它会委派给链中的下一个Handler(处理程序)来处理。这个设计模式通常和复合模式一起使用,其中有些叶子或容器对象默认委派操作给它们的父对象。另一个例子是,本地化通常是使用责任链处理的,当德语翻译适配器没有为翻译关键词找到合适的结果时,就返回到英语适配器或干脆直接显示关键词本身。耦合减少到最低 阅读全文
posted @ 2012-03-26 20:33 笑笑小白 阅读(357) 评论(0) 推荐(0)
摘要: 中介者模式(Mediator)定义一个对象封装一系列多个对象如何相互作用,使得对象间不需要显式地相互引用,从而使其耦合更加松散,并且还让我们可以独立变化多个对象相互作用。结构图如下:以一个聊天室的例子进行说明,一个聊天室可以很多成员,成员可以加入不同的讨论组,聊天室就是一个中介,讨论组中的成员通过聊天室发送消息。结构图如下:实现代码://IChatroom.hclassUser;classIChatroom{public:IChatroom();virtual~IChatroom();virtualvoidRegister(User*)=0;virtualvoidSend(char*pFrom 阅读全文
posted @ 2012-03-26 18:04 笑笑小白 阅读(276) 评论(0) 推荐(0)
摘要: 组合模式(Composite)的定义为:组合多个对象形成树形结构,以表示整体-部分的结构层次。组合模式对单个对象和组合对象的使用具有一致性。其结构图如下:例如一个新闻的树形菜单,它包含很多原始菜单(如国内、国际),以及由其子菜单组成的组合节点(如国内新闻下的时事、社会等),结构图如下:实现代码://Menu.h#include<string>classMenu{public:virtual~Menu();virtualvoidAdd(Menu*);virtualvoidRemove(Menu*);virtualMenu*GetChild(int);virtualvoidDispla 阅读全文
posted @ 2012-03-26 18:03 笑笑小白 阅读(315) 评论(0) 推荐(0)