- 博客(15)
- 资源 (2)
- 收藏
- 关注
原创 【算法】快速排序
void QuickSort(int array[], int size) { if(size < 2) return; srand((unsigned)time( NULL)); int index = rand()%size; int value = array[index]; int temp = array[size-1]; array[size-1]
2013-11-01 00:44:32
498
原创 【算法】快速排序
void QuickSort(int array[], int size) { if(size < 2) return; srand((unsigned)time( NULL)); int index = rand()%size; int value = array[index]; int temp = array[size-1]; array
2013-11-01 00:42:32
108
原创 【lua】小计setmetatable
local base = {x = 5, y = 10, width = 100, height = 100} base.__index = base function base:new() local obj = {} setmetatable(obj, self) return obj end function base:Print() print(
2013-04-22 19:13:37
1042
原创 【24种设计模式】命令模式
动机:将一个请求封装成命令,解耦命令请求者与命令执行者之间的耦合。 #include using namespace std; //参与者 Invoker, Receiver, Command, ConcreteCommand class Document { public: void Open() { cout<<"打开文档"<<endl; } void Close() {
2013-04-09 18:08:02
544
原创 【24种设计模式】桥接(bridge)模式
//分离抽象部分和实现部分,使得各自都可以独立变化 class WindowImpl; class Window { public: virtual ~Window() {} virtual void Create() { } void OnPaint(); protected: Window(WindowImpl* pImpl) : m_pWindowImpl(
2013-04-08 14:52:11
585
原创 【24种设计模式】抽象工厂模式
1, 意图 提供一个穿件一系列相关或相互依赖对象的接口,而无需指定他们具体的类 class Font; class Brush; class Pen; class ResourceFactory { public: virtual Font* CreateFont() = 0; virtual Brush* CreateBrush() = 0; virtual Pen* Crea
2013-03-30 15:44:40
492
原创 【24种设计模式】组合模式
适用场景:整体和部分可以被一致对待(如WORD中复制一个文字、一段文字、一篇文章都是一样的操作) #include #include #include class Component { public: Component(const char* szName); virtual ~Component(); virtual void Add(Component* p)
2013-03-30 11:26:08
598
原创 【练手】reactor模式
测试代码之Reactor模式 class Handler { public: virtual void OnRead(SOCKET s) = 0; virtual void OnSend(SOCKET s) = 0; virtual void OnAccept(SOCKET s) = 0; }; class Reactor { public: typedef
2013-03-14 14:17:51
585
翻译 【24种设计模式】状态模式
当一个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为时,可考虑用到状态模式 #include "stdafx.h" #include using namespace std; class job; class afternoon_state; class night_state; class noon_state; class state { public:
2013-03-11 11:56:29
616
原创 【MFC】控件自绘之CSliderCtrl
一: 我们通过继承MFC自带的CSliderCtrl,并且重写一个OnPaint函数。当然其实也可以通过继承CStatic去模拟CSliderCtrl来实现自绘。自绘难度并不大。国际惯例,上代码。 二: h 头文件 class CSkinSliderCtrl : public CSliderCtrl { DECLARE_DYNAMIC(CSkinSliderCtrl)
2013-03-07 23:18:12
1855
翻译 【24种设计模式】观察者模式
#include #include using namespace std; template class observer { public: observer() {} virtual ~observer() {} virtual void update(_type& event) { } }; template class observable { public: t
2013-03-07 14:46:38
709
翻译 【24种设计模式】装饰者模式
装饰者模式: 动态的给一个对象添加一些额外的职责(不重要的,偶然执行一次的),就增加功能来说,装饰模式比生成子类更灵活,对象无需知道外围的这个装饰类的存在。 #include "stdafx.h" #include using namespace std; class component { public: component() {} virtual ~component
2013-03-07 11:16:49
560
转载 UML解惑:图说六大UML类图关系
UML类图关系的理解和使用是掌握和应用UML的关键,而也就是这几种关系,往往会让初学者迷惑。这里就向大家简单介绍一下六种UML类图关系的特征。 本文和大家重点讨论一下UML类图关系,UML定义的关系主要有六种:依赖、类属、关联、实现、聚合和组合。这里给出这六种主要UML关系的说明和类图描述,一看之下,清晰明了,请看下文详细介绍。 UML解惑:图说六大UML类图关系 UML定义的关系主
2012-10-19 15:00:25
696
原创 WIN7程序静音
直接贴代码, 使用的时候依次 1:initialize 2:EnableSound() 3:Uninitialize , 完成 头文件 .h #pragma once #include #include #include #include #include class CCoreAudioVolume { public: sta
2012-07-04 15:29:09
1858
原创 setsockopt
1. 如果在已经处于 ESTABLISHED状态下的socket(一般由端口号和标志符区分)调用 closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket: BOOL bReuseaddr=TRUE; setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,sizeof
2010-09-20 13:35:00
448
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人