- 博客(19)
- 资源 (14)
- 收藏
- 关注
原创 C++实现代理模式
/* 代理模式:为其他对象提供一种代理,以控制对这个对象的访问 Created by Phoenix_FuliMa*/#include #include using namespace std;class Receiver{private: string name;public: Receiver(string name):name(name) { } str
2012-10-31 23:19:53 831
原创 C++实现装饰者模式
/* 装饰者模式:动态的给一些对象增加一些额外的功能,就增加功能来说,装饰着模式比生成子类更加灵活*/#include using namespace std;class Component{public: virtual void diplay() = 0;};class ConcreteComponent: public Component{public: vi
2012-10-31 20:10:31 611
原创 职责链设计模式解决if else多分支问题
具体方案具体分析,此代码适合分类业务进行的if else操作,解决多分支问题//方案一:职责链设计模式#include #include #include #include using namespace std;typedef string KV;class ProcessCmdFromWeb{protected: ProcessCmdFromWeb *suc
2012-10-29 19:04:11 4303
原创 C++实现建立大根堆
#include using namespace std;void swap(int *a, int *b){ int tmp = *a; *a = *b; *b = tmp;}void adjust_heap(int *Array, int index, int len){ int cur = index; int right_child = 2 * (cur + 1)
2012-10-28 22:39:45 4275
转载 Python 的 Socket 编程教程
这是用来快速学习 Python Socket 套接字编程的指南和教程。Python 的 Socket 编程跟 C 语言很像。Python 官方关于 Socket 的函数请看 http://docs.python.org/library/socket.html基本上,Socket 是任何一种计算机网络通讯中最基础的内容。例如当你在浏览器地址栏中输入 www.oschina.net 时
2012-10-25 20:43:58 1614
原创 原型模式代码示例
注意事项(1)根据原型模式的UML图可以知道,实现要依赖于抽象要不要依赖与具体(2)拷贝构造函数是核心,而且针对c++要进行的是深拷贝(3)克隆函数的关键就是调用拷贝构造函数#include using namespace std;class Student{protected: int id; char name[10];public: Student
2012-10-25 09:07:14 771
转载 友元函数和友元类
友元函数和友元类 采用类的机制后实现了数据的隐藏与封装,类的数据成员一般定义为私有成员,成员函数一般定义为公有的,依此提供类与外界间的通信接口。但是,有时需要定义一些函数,这些函数不是类的一部分,但又需要频繁地访问类的数据成员,这时可以将这些函数定义为该函数的友元函数。除了友元函数外,还有友元类,两者统称为友元。友元的作用是提高了程序的运行效率(即减少了类型检查和安全性检
2012-10-22 09:53:14 711
原创 策略模式-应用代码示例
设计思想非常好,充分体现了策略模式的特点以下代码修改后转载#include #include using namespace std;class ReplaceAlgorithm{public: virtual void Replace() = 0;};class LRU_ReplaceAlgorithm:public ReplaceAlgorithm{publi
2012-10-21 10:30:18 619
原创 C++构造函数执行顺序测试(成员包含其他类对象的时候)
#include #include using namespace std;class A{public: A() { printf("A constructor.....\n"); } ~A() { printf("A destructor......\n"); }};class B{public: B() { printf("B constr
2012-10-21 09:46:08 1901
原创 设计模式的六大原则
1. 开闭原则(Open-Closed Principle: OCP) 对软件实体可以扩展,但是不可以修改。在一个系统中,对扩展是开放的,但是对修改是关闭的,一个好的系统可以再不修改源码的情况下扩展功能,满足对软件的新的需求。2. 里式替换原则(Liskov Substitution Principle: LSP) 子类必须能够替换它们的父类 举例:不符合的情
2012-10-20 23:21:00 978
转载 设计模式C++实现(1)——工厂模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》两本书。本文介绍工厂模式的实现。 工厂模式属于创
2012-10-20 22:39:07 842
原创 libevent简单应用_4
#include #include #include #include #include #include #include #include /* 设置计数,只允许echo_write_cb调用一次 */static int count = 1;/*当有数据可读的时候,会调用这个函数 */static void echo_read_cb(struct bufferev
2012-10-20 10:38:22 2233 1
原创 libevent简单应用_3(来自源码)
//利用bufferevent_socket_connect()建立网络连接#include #include #include #include void eventcb(struct bufferevent *bev, short events, void *ptr){ if (events & BEV_EVENT_CONNECTED) { /* We
2012-10-19 20:20:19 2099
原创 libevent简单应用_2
目的:测试event_base_loop()函数 方法: 作为服务器端,当有数据到来的时候,立刻关闭base*/#include #include #include #include #include #include void cb(evutil_socket_t sock, short what, void *arg){ printf("function cb is c
2012-10-19 18:37:46 1078
原创 libevent简单应用_1_时间定时器
#include #include #include #include #include #include using namespace std;struct EventTimerParam{ struct timeval tv; void *ctx; void *evt;}; void libevent_tick_event_cb(evutil_socket_t
2012-10-19 17:09:47 3190
原创 水平触发和边缘触发的区别
水平触发(level-triggered,也被称为条件触发)LT: 只要满足条件,就触发一个事件(只要有数据没有被获取,内核就不断通知你)边缘触发(edge-triggered)ET: 每当状态变化时,触发一个事件 “举个读socket的例子,假定经过长时间的沉默后,现在来了100个字节,这时无论边缘触发和条件触发都会产生一个read ready notification通知应用程
2012-10-19 17:06:59 9899 1
转载 Makefile详解(自己觉得重新看一次学了好多东西,红色字)
Makefile详解跟我一起写 Makefile陈皓概述——什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix
2012-10-17 22:53:47 14562 2
转载 linux下内存泄露检测工具介绍
Valgrind 概述体系结构Valgrind是一套Linux下,开放源代码(GPLV2)的仿真调试工具的集合。Valgrind由内核(core)以及基于内核的其他调试工具组成。内核类似于一个框架(framework),它模拟了一个CPU环境,并提供服务给其他工具;而其他工具则类似于插件(plug-in),利用内核提供的服务完成各种特定的内存调试任务。Valgr
2012-10-17 22:09:40 25860 1
原创 ERROR:Connection reset by peer
抛出的异常也有可能是客户端中断连接。 当客户端中断连接的时候服务器也会抛出这个异常出来。就是说客户端正在连接的时候 突然终止 了连接,这样,服务器端会抛出Connection reset by peer 异常出来
2012-10-16 09:19:02 1088
InstallShield2013LimitedEdition
2015-11-20
计算机网络课件(很牛的老师讲的)附 考试标准题库
2010-08-14
华为SDH原理教材(很经典的)
2010-08-14
Linux笔试和面试题大全(保证是最全的 )
2010-08-14
C++面试题(最全的)
2010-08-14
C++笔试题(很全的)
2010-08-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人