自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (9)
  • 收藏
  • 关注

原创 ubuntu 16 设计导致VMware 在linux启动时出错 before you can run vmware, several modules must be complied and loa

mark一下vmware-modconfig --console --install-all命令定位错误/usr/lib/vmware/modules/source/*.tar代码位置uname -a查看linux kernel文件位置

2019-07-17 20:52:57 6021

原创 templete_method 模板方法模式

#include #include using namespace std;class TestPaper{public: virtual ~TestPaper(){} void TestQuestion1() { cout

2013-12-23 09:00:03 566 1

原创 strategy 策略模式

#include using namespace std;class travel{public: virtual void travel_method() = 0; virtual ~travel(){}};class travel_with_plane:public travel{public: void travel_method(){

2013-12-23 08:59:45 589

原创 state 状态模式

#include #include using namespace std;/*1) 将 State声明为 Context的友元类(friend class) ,其作用是让 State模式访问 Context的 protected接口 ChangeSate() 。2) State 及其子类中的操作都将 Context*传入作为参数,其主要目的是 State 类可以通过这个指针调用

2013-12-23 08:59:24 612

原创 singleton 单例模式

#include using namespace std;class singleton{public: void method(){ cout <<"singleton::method"<<endl; } //... static singleton *getInstance(); static singleton *instance;private:

2013-12-23 08:59:11 499

原创 visitor 访问者模式

#include #include #include using namespace std;class element;class visitor{public: visitor(string name): _name(name){} virtual ~visitor(){} virtual void visit_concrete_elementA(ele

2013-12-21 12:05:21 595

原创 proxy 代理模式

#include #include using namespace std;class Subject{public: virtual ~Subject(){}; virtual void Request() = 0;};class ConcreteSubject : public Subject{public: ConcreteSubject(){}

2013-12-21 11:56:46 567

原创 prototype 原型模式

#include #include using namespace std;class Prototype{public: virtual ~Prototype(){} virtual Prototype *clone(string name, int age) =0; virtual void getInfo() =0; virtual void se

2013-12-21 11:54:59 615

原创 observer 观察者模式

#include #include #include using namespace std;// subject notify中调用 observer 的update 更新状态typedef string State;class subject;class observer{public: virtual ~observer(){} virtual void

2013-12-21 11:54:07 529

原创 memento 备忘录模式

#include #include using namespace std;class memento;class originator{public: typedef string state; originator():_me(NULL){ _me = create_memento(); } originator(const state &st):_st(

2013-12-21 11:52:54 536

原创 mediator 中介者模式

#include #include using namespace std;class country;class united_nation //中介类{public: virtual ~united_nation(){} virtual void declare(const string &message, country *colleague) =0;};

2013-12-21 11:52:05 482

原创 iterator 迭代器模式

#include #include #include using namespace std;class Iterator;typedef int Object;class Interator;class Aggregate{public: virtual ~Aggregate(){} virtual Iterator *CreateIterator() =0

2013-12-21 11:51:12 657

原创 interpreter 解释器模式

#include #include using namespace std;class context{public: context(){} ~context(){}};class abstract_expression{public: virtual ~abstract_expression(){} virtual void interpr

2013-12-21 11:50:02 607

原创 flyweight 享元模式

#include #include #include using namespace std;class fly_weight{public: virtual ~fly_weight(){} virtual void operation(const string &state){} string get_state() { return

2013-12-21 11:49:01 511

原创 factorymethod 工厂方法模式

#include using namespace std;template class Factory{public: Factory():m_pointer(NULL){} Base *create() { if (m_pointer != NULL) return m_pointer; m_pointe

2013-12-21 11:47:25 538

原创 factory 简单工厂

#include #include #include using namespace std;class IAnimal //工厂创建出的接口{public: virtual int GetNumberOfLegs() const = 0; virtual void Speak() = 0; virtual void Free() = 0;};typ

2013-12-21 11:45:21 589

原创 facade 外观模式

#include using namespace std;//外观模式 最简单的模式 不需要虚函数 继承等class foo{public: void show() { cout<<"foo::show()"<<endl; }};class bar{public: void show() { cout<<"

2013-12-21 11:42:30 520

原创 decorator 装饰模式

#include #include using namespace std;class Component{public: virtual ~Component(){} virtual void Operation(){}protected: Component(){};};class ConcreteComponent : public Compone

2013-12-21 11:41:12 533

原创 composite 组合模式

#include #include #include using namespace std;class component{public: virtual ~component(){} virtual void operation() =0; virtual void add(component *) =0; virtual void remove

2013-12-21 11:39:20 646

原创 command命令模式

#include using namespace std;class reciver //执行者{public: void action() { cout<< "reciver::action()"<<endl; }};class command //命令{public: command(reciver *rec):_rec(re

2013-12-21 11:37:42 864

原创 chain_of_responsibility责任链模式

#include using namespace std;class handle{public: handle():_suc(NULL){} virtual ~handle(){} void set_successor(handle *suc) { _suc = suc; } handle *get_successor()

2013-12-21 11:35:54 605

原创 builder建造者模式

#include #include #include using namespace std;class Product{public: void add(string part) { lst.push_back(part); } void show() { for (list::iterator it = l

2013-12-21 11:34:49 591

原创 bridge桥接模式

#include #include using namespace std;class abstraction_imp{public: virtual ~abstraction_imp(){} virtual void operation() =0;};class abstraction{public: virtual ~abstraction(){}

2013-12-21 11:33:50 607

原创 adapter适配器模式

#include #include using namespace std;class target{public: target(){} virtual ~target(){} virtual void request() { cout<< "target::request()" <<endl; }};class ada

2013-12-21 11:32:33 461

原创 abstract_factory抽象工厂

#include #include #include using namespace std;template class abstract_factory{public:    virtual ~abstract_factory(){}    virtual Base *create() =0;};template class fa

2013-12-21 11:29:57 623

原创 写在前面

常用的23种设计模式,都是自己找资料整理的,拿出来和大家分享。创建型:abstract_factory                      抽象工厂builder                               建造者模式factory                               简单工厂prototype                  

2013-12-21 11:27:32 462

转载 Linux运维常用命令总结

1.删除0字节文件find -type f -size 0 -exec rm -rf {} \; 2.查看进程按内存从大到小排列PS -e   -o "%C   : %p : %z : %a"|sort -k5 -nr 3.按cpu利用率从大到小排列ps -e   -o "%C   : %p : %z : %a"|sort   -nr

2013-06-09 10:44:56 959

转载 linux系统诊断三剑客

strace 命令是一种强大的工具,它能够显示所有由用户空间程序发出的系统调用。  strace 显示这些调用的参数并返回符号形式的值。strace 从内核接收信息,而且不需要以任何特殊的方式来构建内核。  下面记录几个常用 option .   1 -f -F选项告诉strace同时跟踪fork和vfork出来的进程  2 -o xxx.txt 输出到某个文件。  3 -e

2013-06-09 10:33:59 667

转载 细节之处方显linux真功夫 - 老男孩linux运维

细节之处方显linux真功夫 - 老男孩linux运维 - 51CTO技术博客 http://oldboy.blog.51cto.com/2561410/1216107问题:linux下生成00 01 02..99的这些数,怎么生成?注意:所有内容必须横排显示(按理不说也该理解题意的)。说明:本博文是以一个小的面试题为载体,讲述如下知识点的综合运用:seq tr

2013-06-09 09:54:11 1406

原创 编译器是如何用汇编语言实现C++的虚函数表和隐式传递this指针(三)

//直接来个复杂的多重继承#include class Base{public: Base(){ puts("Base()"); } virtual void fun1() { puts("Base::fun1()"); } virtual void fun2() { puts("B

2013-06-06 15:52:43 863

原创 编译器是如何用汇编语言实现C++的虚函数表和隐式传递this指针(二)

#include class Base{public: Base(){ puts("Base()"); } virtual void fun1() { puts("Base::fun1()"); } virtual void fun2() { puts("Base::fun2()")

2013-06-06 13:43:45 1141

原创 Qt实现窗口tabwidget的拖出双击弹回功能

这个功能看似简单,实现起来确实有点儿难度。在代码里详细说明吧。//CTabWidget.h#ifndef CTABWIDGET_H#define CTABWIDGET_H#include #include #include "CTabBar.h"class CTabWidget :public QTabWidget{ Q_OBJECTpublic: CTabW

2013-06-06 10:58:49 5925 3

原创 非排序map的适配器

以前写过的一些代码,拿出来与大家分享一下,在看代码前先交代清楚它的优缺点,顾名思义此适配器去除了std::map按key排序的特性,元素的排序按我们插入的顺序排列,因此失去了二分查找的性能,查询的时间为常数N。在我们不希望std::map排序元素,且保存元素较少的情况下,这是个不错的解决方案。Map.h#pragma once#include #include namespac

2013-06-06 10:32:03 809

原创 编译器是如何用汇编语言实现C++的虚函数表和隐式传递this指针(一)

所谓的面向对象及继承、多态等等只是在语言层面的实现,机器在执行程序时根本就不知道这些。这篇博客的目的是探讨一下,编译器对C++虚函数的实现。先探讨最简单的情况:代码如下 vtable.cpp:#include class Base{public: Base(){ puts("Base()"); } virtual void f

2013-06-06 09:40:32 1619

原创 Qt信号和槽的实现揭秘

Qt信号和槽的实现揭秘对于刚开始学习Qt的同学,对信号和槽的运行机制是非常难于理解的,这篇Blog 的目的就是解析掀开信号和槽的神秘面纱。支持信号与槽机制的类必须派生于QObject,并且在类的声明中必须包涵Q_OBJECT宏。这里用到的就如下的几行代码,非常简单,一个按钮单击退出。#include #include int main(int argc, char *argv[]

2013-06-06 09:37:59 4154

原创 she is a girl 倒置

//面试碰到的一道题,"she is a girl"字符串倒置成"girl a is she",给我一张纸就让我写程序,然后就成功的被pass掉了。程序真的不是在纸上写出来的。#include #include #include int main(){ char str[] = "she is a girl"; char *tmp = (char*)malloc(strlen(

2013-06-06 09:36:15 671

设计模式代码

设计模式代码

2013-12-21

window核心编程

清晰版window核心编程,学习windows内核超值

2013-02-22

qicstable头文件

qicstable lib的头文件

2012-12-08

BashCookBook

shell 编程资料

2012-11-23

qicstable-lib

qicstable 的库文件 debug版和release版都有 头文件自己去网上下去

2012-11-01

G++-1.22compiler

喜欢编译技术,或想看看源码。简短精悍,容易理解

2012-10-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除