自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

DIYing

ELF-PE

  • 博客(313)
  • 资源 (10)
  • 收藏
  • 关注

转载 gdb调试的layout使用

layout:用于分割窗口,可以一边查看代码,一边测试。主要有以下几种用法:layout src:显示源代码窗口layout asm:显示汇编窗口layout regs:显示源代码/汇编和寄存器窗口layout split:显示源代码和汇编窗口layout next:显示下一个layoutlayout prev:显示上一个layoutCtrl + L:刷新窗口Ctr

2015-08-29 19:52:11 4010

转载 C++中delete和delete[]的区别

转自http://jazka.blog.51cto.com/809003/230220 一直对C++中的delete和delete[]的区别不甚了解,今天遇到了,上网查了一下,得出了结论。做个备份,以免丢失。         C++告诉我们在回收用 new 分配的单个对象的内存空间的时候用 delete,回收用 new[] 分配的一组对象的内存空间的时候用 delete[]

2015-08-22 09:29:20 722

转载 编译脚本

find -name “Makefile” -exec perl -pi.bak -ne”s/DEBUG/#DEBUG/” {} \; cd MahjongGB/;make clean;make;cd ..;mv MahjongServer mahjong.hj.gb;cd MahjongGB;make clean;cd ..; cd MahjongGD/;make clean;make;cd

2015-07-02 18:47:46 1216

转载 linux显示线程信息

1。 使用top命令,具体用法是 top -H 加上这个选项,top的每一行就不是显示一个进程,而是一个线程。 2。 使用ps命令,具体用法是 ps -xH 这样可以查看所有存在的线程,也可以使用grep作进一步的过滤。 3。 使用ps命令,具体用法是 ps -mq PID 这样可以看到指定的进程产生的线程数目。 更进一步,其实一些系统监控工具,在本质上也是读取的系统产生的文件罢了

2015-06-20 17:29:52 848

原创 一个简单的排序,练练手

#include <stdlib.h>#include <iostream> #include <list>#include <utility>using namespace std;typedef struct sortExInfo_{ int HuaSeNum; int remainNum;}sortExInfo;typedef pair<int, sortExInf

2015-06-19 01:27:18 605

原创 C:\Vim\VIMPROJ\vimrc\_vimrc

” ======================================================================== “公孙小龙(chiyl) 的 vimrc “我的联系方式:xidiandaily (AT) gmail (DOT) COM ” ” ” 许可:GPLv3 ” =========================================

2015-04-27 22:15:21 679 1

原创 C:\Vim\_vimrc

set nocompatible source VIMRUNTIME/vimrcexample.vimsourceVIMRUNTIME/vimrc_example.vim source VIMRUNTIME/mswin.vim behave mswinset diffexpr=MyDiff() function MyDiff() let opt = ‘-a –binary ’

2015-04-27 22:13:53 490

原创 解释器模式

#include <iostream>#include <list>#include <string>using namespace std;class Context;class AbstractExpression{public: virtual void interpret(Context *)=0;};class TerminalExpression:public Abs

2015-04-02 16:59:44 507

原创 享元模式

#include <iostream>#include <string>#include <map>using namespace std;class Flyweight{public: virtual void operation(int)=0;};class ConcreteFlyweight:public Flyweight{ void operation(int

2015-04-02 16:56:28 547

原创 中介者模式

#include<iostream>#include <string>using namespace std;class Mediator;class ConcreteColleague1;class ConcreteColleague2;class Colleague{protected: Mediator *mediator;public: Colleague(Me

2015-04-02 16:50:57 508

原创 责任链模式

#include<iostream>#include <string>using namespace std;class Request{public: string requestType; string requestContent; int number;};class Manager{protected: string name; Man

2015-04-02 08:28:29 495

原创 命令模式

#include <iostream>#include <string>#include <list>using namespace std;class Barbecuer{public: void bakeMutton() { cout<<"烤羊肉串"<<endl; } void bakeChickenWing() {

2015-04-02 08:03:11 478

原创 桥接模式

GOOD:将抽象部分与实现部分分离,使它们可以独立变化。 这里说的意思不是让抽象基类与具体类分离,而是现实系统可能有多角度分类, 每一种分类都有可能变化,那么把这种多角度分离出来让它们独立变化,减少它们之间的耦 合性,即如果继承不能实现“开放-封闭原则”的话,就应该考虑用桥接模式。#include <iostream>#include <string>using namespace std;

2015-04-02 07:54:12 538

原创 单例模式

GOOD:保证一个类仅有一个实例,并提供一个访问它的全局访问点 #include <iostream>#include <string>using namespace std;class Singleton{ private: int i; static Singleton *instance; Singleton(int i) { thi

2015-04-02 07:50:10 502

原创 迭代器模式

#include <iostream>#include <string>using namespace std;class Iterator;class Aggregate{public: virtual Iterator *createIterator()=0;};class Iterator{public: virtual void first()=0; v

2015-04-02 07:22:14 457

原创 组合模式

#include <iostream>#include <vector>#include <string>using namespace std;class Component{public: string name; Component(string name) { this->name=name; } virtual void a

2015-04-02 00:23:42 458

原创 备忘录模式

#include <iostream>#include <string>#include <vector>using namespace std;class Memo{public: string state; Memo(string state) { this->state=state; }};class Originator{pub

2015-04-01 23:53:15 538

原创 适配器模式

#include <iostream>#include <string>using namespace std;class Adaptee{public: virtual void myRequest() { cout<<"实际上的接口"<<endl; }};class Target{public: virtual void reques

2015-04-01 23:21:25 437

原创 状态模式

#include <iostream>#include <string>using namespace std;class Work;class State;class ForenonnState;class State{public: virtual void writeProgram(Work*)=0;};class Work{public: int hour

2015-04-01 19:10:13 517

原创 抽象工厂模式

#include <iostream>#include <string>using namespace std;class IUser{public: virtual void getUser()=0; virtual void setUser()=0;};class SqlUser:public IUser{public: void getUser()

2015-03-31 23:33:02 528

原创 观察者模式

#include <iostream>#include <string>#include <list>using namespace std;class Subject;class Observer{protected: string name; Subject *sub;public: Observer(string name,Subject *sub)

2015-03-31 17:14:09 399

转载 UML类图几种关系的总结

在UML类图中,常见的有以下几种关系:泛化(Generalization),  实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency) 1.泛化(Generalization)【泛化关系】:是一种继承关系,它指定了子类如何特化父类的所有特征和行为例如:老虎是动物的一种.【箭头指向】

2015-03-31 16:11:23 413

原创 建造者模式(生成器模式)

#include #include #include using namespace std;class Product{private: vector product;public: void add(string str) { product.push_back(str); } void show() { vector::iterator iter=pr

2015-03-31 15:43:31 492

原创 外观模式

GOOD:为子系统的一组接口提供一个一致的界面。使用户使用起来更加方便。#include #include using namespace std;class Sub1{public: void f1() { cout<<"子系统的方法 1"<<endl; }};class Sub2{public: void f2() { cout<<"子系统的方法 2

2015-03-31 14:58:47 421

原创 模板方法模式

GOOD:  把不变的代码部分都转移到父类中,  将可变的代码用 virtual 留到子类重写 .#include#include #include using namespace std;class AbstractClass{public: void Show() { cout<<"我是"<<GetName()<<endl; }protected: virtua

2015-03-31 14:49:53 411

原创 原型模式

GOOD:  从一个对象再创建另外一个可定制的对象,  而无需知道任何创建的细节。 并能提高创建的性能。 说白了就 COPY 技术,把一个对象完整的 COPY 出一份。 #include #include using namespace std;class Prototype{private: string str;public: Prototype(string s) {

2015-03-31 12:07:53 513

原创 工厂方法模式

GOOD:修正了简单工厂模式中不遵守开放-封闭原则。工厂方法模式把选择判 断移到了客户端去实现,如果想添加新功能就不用修改原来的类,直接修改客户端即可。 #include #include using namespace std;class LeiFeng{public: void sweep() { cout<<"扫地"<<endl; } void wash()

2015-03-31 11:55:52 411

原创 代理模式

GOOD:远程代理,可以隐藏一个对象在不同地址空间的事实虚拟代理:通过代理来存放需要很长时间实例化的对象 安全代理:用来控制真实对象的访问权限 智能引用:当调用真实对象时,代理处理另外一些事#include #include using?namespace std //定义接口 class Interface?{ public: virtu

2015-03-31 11:38:41 399

原创 修饰模式

GOOD:当你向旧的类中添加新代码时,一般是为了添加核心职责或主要行为。而当需 要加入的仅仅是一些特定情况下才会执行的特定的功能时(简单点就是不是核心应用的功能) ,就会增加类的复杂度。装饰模式就是把要添加的附加功能分别放在单独的类中,并让这个类包含它要装饰的对象,当需要执行时,客户端就可以有选择地、按顺序地使用装饰功能包装对象。 #include #include using n

2015-03-31 10:39:49 671

原创 设计模式和工厂模式的结合

//策略基类class COperation{ public: intm_nFirst; intm_nSecond; virtualdoubleGetResult() { doubledResult=0; returndResult; }};//策略具体类—加法类class AddOperation:publicCOperation{public: AddOpe

2015-03-30 18:09:50 492

原创 策略模式

//策略基类class COperation{ public: intm_nFirst; intm_nSecond; virtualdoubleGetResult() { doubledResult=0; returndResult; }};//策略具体类—加法类class AddOperation:publicCOperation{public: AddOpe

2015-03-30 17:39:36 519

原创 简单工厂模式

#include #include using namespace std;class Operation{public: double numberA,numberB; virtual double getResult() { return 0; }};class addOperation:public Operation{ double getResult(

2015-03-30 16:29:42 441

转载 网络编程释疑之:TCP连接拔掉网线后会发生什么

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://yaocoder.blog.51cto.com/2668309/1589919背景:前些天团队在进行终端设备和服务器端长连接业务的测试时,发现了这么一个情况:在拔掉设备端的网线后,再插上网线,有时可以继续正常的进行长接连请求,而且用的还是拔掉网线之前的那个长连接。但是有

2015-03-28 22:13:51 1570 1

转载 类的const和非const成员函数的重载

转自:http://blog.csdn.net/anjy/article/details/1819126我们从一个例子说起,来看上一篇文章中的String类, 我们为它提供一个下标操作符([ ])以读写指定位置的字符(char)。只要了解过C++的操作符重载的语法,很快就可以写出下面这个[]操作符重载函数:char& operator[](int posion)    //

2015-03-28 08:49:37 591

转载 堆栈的作用,以及存放的数据

在计算机领域,堆栈是一个不容忽视的概念,但是很多人甚至是计算机专业的人也没有明确堆栈其实是两种数据结构。堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除。要点:堆:顺序随意栈:后进先出(Last-In/First-Out)堆和栈的区别 一、预备知识—程序的内存分配     一个由C/C++编译的程序占用

2015-03-25 19:18:54 4437

原创 为什么基类的析构函数是虚函数?

注:本文章内容大部分来自网站整理。1.为什么基类的析构函数是虚函数?  在实现多态时,当用基类操作派生类,在析构时防止只析构基类而不析构派生类的状况发生。  下面转自网络:源地址 http://blog.sina.com.cn/s/blog_7c773cc50100y9hz.html  a.第一段代码  #includeusing namesp

2015-03-25 19:12:10 573

原创 Ubuntu下配置支持samba共享

执行下列命令:$ sudo apt-get install samba$ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak$ sudo mkdir -p /home/share$ sudo chmod 777 /home/share修改配置文件$ sudo vim /etc/samba/smb.c

2015-03-24 23:46:28 471

转载 【Linux学习】pthread_create主线程与创建的新线程之间退出关系

我们在一个线程中经常会创建另外的新线程,如果主线程退出,会不会影响它所创建的新线程呢?下面就来讨论一下。 1、  主线程等待新线程先结束退出,主线程后退出。正常执行。实例代码:[cpp] view plaincopyprint?#include "apue.h"  #include     pthread_

2015-03-24 10:43:43 885

原创 重载操作符

根据网上的帖子,整理如下:1 并不是所有的操作符都能被重载。除了. ,.* ,:: ,? : ,sizeof,typeid这几个运算符不能被重载,其他运算符都能被重载2 重载不能改变该运算符用于内置类型时的函义,程序员不能改变运算符+用于两个int型时的含义。3 运算符函数的参数至少有一个必须是类的对象或者类的对象的引用。这种规定可以防止程序员运用运算符改变内置类型的函义。4 重载不能改

2015-03-24 08:01:20 426

原创 select/poll/epoll对比

2015-03-22 22:47:23 484

C语言初学者入门讲座C语言初学者入门讲座

C语言初学者入门讲座C语言初学者入门讲座C语言初学者入门讲座C语言初学者入门讲座

2010-05-21

C和C++算法与描述

C和C++算法与描述。有一定基础者可以好好学习一下。保证令人刮目。下下下来。以后有用的。

2010-04-22

常见电脑故障处理方法常见电脑故障处理方法

常见电脑故障处理方法常见电脑故障处理方法常见电脑故障处理方法常见电脑故障处理方法

2010-04-15

如何挽救软盘文件如何挽救软盘文件

如何挽救软盘文件如何挽救软盘文件如何挽救软盘文件如何挽救软盘文件

2010-04-15

网站设计的思考网站设计的思考

网站设计的思考,设计高手箴言,菜鸟变大鸟。

2010-04-15

我要破解文集之再续篇

我要破解文集之再续篇,无往不胜的破解大全,谁与争锋的利刃!!

2010-03-19

年度巨献电脑知识及技巧大合集

电脑知识大全,让你成为电脑高手的捷径。吐血推荐!!!

2010-03-19

dos下关闭木马后门病毒端口使用教程.rardos下关闭木马后门病毒端口使用教程.rar

木马后门病毒端口使用教程.rardos下关闭木马后门病毒端口使用教程.rar

2010-02-13

入侵问题及防范措施新人入侵常见问题及WEB防范措施基础\623xr\新人入侵常见问题及WEB防范措施基础

新人入侵常见问题及WEB防范措施基础\623xr\新人入侵常见问题及WEB防范措施基础

2010-02-13

空空如也

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

TA关注的人

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