- 博客(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
454
原创 【算法】快速排序
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
75
原创 【lua】小计setmetatable
local base = {x = 5, y = 10, width = 100, height = 100}base.__index = basefunction base:new() local obj = {} setmetatable(obj, self) return objendfunction base:Print() print(
2013-04-22 19:13:37
1009
原创 【24种设计模式】命令模式
动机:将一个请求封装成命令,解耦命令请求者与命令执行者之间的耦合。 #include using namespace std;//参与者 Invoker, Receiver, Command, ConcreteCommandclass Document{public: void Open() { cout<<"打开文档"<<endl; } void Close() {
2013-04-09 18:08:02
510
原创 【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
545
原创 【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
448
原创 【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
560
原创 【练手】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
546
翻译 【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
584
原创 【MFC】控件自绘之CSliderCtrl
一: 我们通过继承MFC自带的CSliderCtrl,并且重写一个OnPaint函数。当然其实也可以通过继承CStatic去模拟CSliderCtrl来实现自绘。自绘难度并不大。国际惯例,上代码。 二:h 头文件class CSkinSliderCtrl : public CSliderCtrl{ DECLARE_DYNAMIC(CSkinSliderCtrl)
2013-03-07 23:18:12
1800
翻译 【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
665
翻译 【24种设计模式】装饰者模式
装饰者模式:动态的给一个对象添加一些额外的职责(不重要的,偶然执行一次的),就增加功能来说,装饰模式比生成子类更灵活,对象无需知道外围的这个装饰类的存在。#include "stdafx.h"#include using namespace std;class component{public: component() {} virtual ~component
2013-03-07 11:16:49
533
转载 UML解惑:图说六大UML类图关系
UML类图关系的理解和使用是掌握和应用UML的关键,而也就是这几种关系,往往会让初学者迷惑。这里就向大家简单介绍一下六种UML类图关系的特征。本文和大家重点讨论一下UML类图关系,UML定义的关系主要有六种:依赖、类属、关联、实现、聚合和组合。这里给出这六种主要UML关系的说明和类图描述,一看之下,清晰明了,请看下文详细介绍。UML解惑:图说六大UML类图关系UML定义的关系主
2012-10-19 15:00:25
652
原创 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
1797
原创 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
405
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人