- 博客(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
4184
转载 C++中delete和delete[]的区别
转自http://jazka.blog.51cto.com/809003/230220 一直对C++中的delete和delete[]的区别不甚了解,今天遇到了,上网查了一下,得出了结论。做个备份,以免丢失。 C++告诉我们在回收用 new 分配的单个对象的内存空间的时候用 delete,回收用 new[] 分配的一组对象的内存空间的时候用 delete[]
2015-08-22 09:29:20
773
转载 编译脚本
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
1270
转载 linux显示线程信息
1。 使用top命令,具体用法是 top -H 加上这个选项,top的每一行就不是显示一个进程,而是一个线程。 2。 使用ps命令,具体用法是 ps -xH 这样可以查看所有存在的线程,也可以使用grep作进一步的过滤。 3。 使用ps命令,具体用法是 ps -mq PID 这样可以看到指定的进程产生的线程数目。 更进一步,其实一些系统监控工具,在本质上也是读取的系统产生的文件罢了
2015-06-20 17:29:52
905
原创 一个简单的排序,练练手
#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
669
原创 C:\Vim\VIMPROJ\vimrc\_vimrc
” ======================================================================== “公孙小龙(chiyl) 的 vimrc “我的联系方式:xidiandaily (AT) gmail (DOT) COM ” ” ” 许可:GPLv3 ” =========================================
2015-04-27 22:15:21
732
原创 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
551
原创 解释器模式
#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
557
原创 享元模式
#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
600
原创 中介者模式
#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
553
原创 责任链模式
#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
538
原创 命令模式
#include <iostream>#include <string>#include <list>using namespace std;class Barbecuer{public: void bakeMutton() { cout<<"烤羊肉串"<<endl; } void bakeChickenWing() {
2015-04-02 08:03:11
530
原创 桥接模式
GOOD:将抽象部分与实现部分分离,使它们可以独立变化。 这里说的意思不是让抽象基类与具体类分离,而是现实系统可能有多角度分类, 每一种分类都有可能变化,那么把这种多角度分离出来让它们独立变化,减少它们之间的耦 合性,即如果继承不能实现“开放-封闭原则”的话,就应该考虑用桥接模式。#include <iostream>#include <string>using namespace std;
2015-04-02 07:54:12
592
原创 单例模式
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
547
原创 迭代器模式
#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
511
原创 组合模式
#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
507
原创 备忘录模式
#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
593
原创 适配器模式
#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
475
原创 状态模式
#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
564
原创 抽象工厂模式
#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
589
原创 观察者模式
#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
447
转载 UML类图几种关系的总结
在UML类图中,常见的有以下几种关系:泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency) 1.泛化(Generalization)【泛化关系】:是一种继承关系,它指定了子类如何特化父类的所有特征和行为例如:老虎是动物的一种.【箭头指向】
2015-03-31 16:11:23
450
原创 建造者模式(生成器模式)
#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
531
原创 外观模式
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
462
原创 模板方法模式
GOOD: 把不变的代码部分都转移到父类中, 将可变的代码用 virtual 留到子类重写 .#include#include #include using namespace std;class AbstractClass{public: void Show() { cout<<"我是"<<GetName()<<endl; }protected: virtua
2015-03-31 14:49:53
446
原创 原型模式
GOOD: 从一个对象再创建另外一个可定制的对象, 而无需知道任何创建的细节。 并能提高创建的性能。 说白了就 COPY 技术,把一个对象完整的 COPY 出一份。 #include #include using namespace std;class Prototype{private: string str;public: Prototype(string s) {
2015-03-31 12:07:53
549
原创 工厂方法模式
GOOD:修正了简单工厂模式中不遵守开放-封闭原则。工厂方法模式把选择判 断移到了客户端去实现,如果想添加新功能就不用修改原来的类,直接修改客户端即可。 #include #include using namespace std;class LeiFeng{public: void sweep() { cout<<"扫地"<<endl; } void wash()
2015-03-31 11:55:52
442
原创 代理模式
GOOD:远程代理,可以隐藏一个对象在不同地址空间的事实虚拟代理:通过代理来存放需要很长时间实例化的对象 安全代理:用来控制真实对象的访问权限 智能引用:当调用真实对象时,代理处理另外一些事#include #include using?namespace std //定义接口 class Interface?{ public: virtu
2015-03-31 11:38:41
433
原创 修饰模式
GOOD:当你向旧的类中添加新代码时,一般是为了添加核心职责或主要行为。而当需 要加入的仅仅是一些特定情况下才会执行的特定的功能时(简单点就是不是核心应用的功能) ,就会增加类的复杂度。装饰模式就是把要添加的附加功能分别放在单独的类中,并让这个类包含它要装饰的对象,当需要执行时,客户端就可以有选择地、按顺序地使用装饰功能包装对象。 #include #include using n
2015-03-31 10:39:49
736
原创 设计模式和工厂模式的结合
//策略基类class COperation{ public: intm_nFirst; intm_nSecond; virtualdoubleGetResult() { doubledResult=0; returndResult; }};//策略具体类—加法类class AddOperation:publicCOperation{public: AddOpe
2015-03-30 18:09:50
534
原创 策略模式
//策略基类class COperation{ public: intm_nFirst; intm_nSecond; virtualdoubleGetResult() { doubledResult=0; returndResult; }};//策略具体类—加法类class AddOperation:publicCOperation{public: AddOpe
2015-03-30 17:39:36
580
原创 简单工厂模式
#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
473
转载 网络编程释疑之:TCP连接拔掉网线后会发生什么
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://yaocoder.blog.51cto.com/2668309/1589919背景:前些天团队在进行终端设备和服务器端长连接业务的测试时,发现了这么一个情况:在拔掉设备端的网线后,再插上网线,有时可以继续正常的进行长接连请求,而且用的还是拔掉网线之前的那个长连接。但是有
2015-03-28 22:13:51
1677
转载 类的const和非const成员函数的重载
转自:http://blog.youkuaiyun.com/anjy/article/details/1819126我们从一个例子说起,来看上一篇文章中的String类, 我们为它提供一个下标操作符([ ])以读写指定位置的字符(char)。只要了解过C++的操作符重载的语法,很快就可以写出下面这个[]操作符重载函数:char& operator[](int posion) //
2015-03-28 08:49:37
649
转载 堆栈的作用,以及存放的数据
在计算机领域,堆栈是一个不容忽视的概念,但是很多人甚至是计算机专业的人也没有明确堆栈其实是两种数据结构。堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除。要点:堆:顺序随意栈:后进先出(Last-In/First-Out)堆和栈的区别 一、预备知识—程序的内存分配 一个由C/C++编译的程序占用
2015-03-25 19:18:54
4592
原创 为什么基类的析构函数是虚函数?
注:本文章内容大部分来自网站整理。1.为什么基类的析构函数是虚函数? 在实现多态时,当用基类操作派生类,在析构时防止只析构基类而不析构派生类的状况发生。 下面转自网络:源地址 http://blog.sina.com.cn/s/blog_7c773cc50100y9hz.html a.第一段代码 #includeusing namesp
2015-03-25 19:12:10
636
原创 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
520
转载 【Linux学习】pthread_create主线程与创建的新线程之间退出关系
我们在一个线程中经常会创建另外的新线程,如果主线程退出,会不会影响它所创建的新线程呢?下面就来讨论一下。 1、 主线程等待新线程先结束退出,主线程后退出。正常执行。实例代码:[cpp] view plaincopyprint?#include "apue.h" #include pthread_
2015-03-24 10:43:43
928
原创 重载操作符
根据网上的帖子,整理如下:1 并不是所有的操作符都能被重载。除了. ,.* ,:: ,? : ,sizeof,typeid这几个运算符不能被重载,其他运算符都能被重载2 重载不能改变该运算符用于内置类型时的函义,程序员不能改变运算符+用于两个int型时的含义。3 运算符函数的参数至少有一个必须是类的对象或者类的对象的引用。这种规定可以防止程序员运用运算符改变内置类型的函义。4 重载不能改
2015-03-24 08:01:20
479
入侵问题及防范措施新人入侵常见问题及WEB防范措施基础\623xr\新人入侵常见问题及WEB防范措施基础
2010-02-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人