自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

tom555cat

知其然知其所以然

  • 博客(18)
  • 资源 (3)
  • 问答 (1)
  • 收藏
  • 关注

转载 归并排序及其适用范围

====[[C语言]]====/*=============================================================================## FileName: merge_sort_in_c.c# Desc: 归并排序## Author: gavinyao# Email: gav

2014-03-31 22:23:54 2647

转载 堆排序

#include using namespace std;/* #堆排序#% #数组实现#%*///#筛选算法#%void sift(int d[], int ind, int len){ //#置i为要筛选的节点#% int i = ind; //#c中保存i节点的左孩子#% int c = i * 2 + 1; //#+1的目的就是为了解决节点从0开

2014-03-31 22:18:37 607

原创 自己写一个string类

头文件:#ifndef _STRINGS_#define _STRINGS_#include using namespace std;class Strings{ friend ostream& operator<<(ostream& os, const Strings& s);public: Strings(); Strings(char *s); Strings(co

2014-03-28 17:42:59 917

转载 向基类构造函数传递参数

引言:继承固然为我们节省了不少的时间和工序,但是由于子类是由基类派生出来的,因此我们在创建派生类的对象时,仍然需要对基类进行初始化。原因也不难理解,因为子类将基类的所有成员都继承了过去,所以被继承的成员也会出现在子类里,那么我们在构造一个子类的对象时,就会难免调用基类的构造函数。在创建派生类的构造函数时,有两种方法可以对数据进行初始化。第一种:在派生类中创建一个构造函数,然后初始化所以

2014-03-26 10:02:09 6205 3

原创 Qt学习经历

一个Qt的小例子#include #include #include #include int main(int argc, char* argv[]){ QApplication app(argc, argv); QPushButton *button = new QPushButton("Quit"); //connect QObject::c

2014-03-25 21:55:49 576

原创 智能指针

在类中有指针成员时,使用复制拷贝函数可以使每一个类的对象都有一份自己的指针成员指向的拷贝,以防止如果被拷贝的对象XIGOU,复制的对象的指针成员成为野指针。另一种避免这种结果的途径就是智能指针。智能指针的一种实现方式是指针成员所指空间建立一个计数器,而不是区复制这个空间。每当这个拥有这个指针成员的对象被复制一次,这个计数器就加1.具体情况是这么个样子:代码:#include

2014-03-24 20:36:12 578

原创 大整数C++类的实现

#include#include#include#includeusing namespace std;class BigInt{public: // 操作符重载:1. 参数数目。2. 什么操作符重载应该设为成员函数。 friend ostream& operator << (ostream& out,BigInt& bint); BigInt(); BigInt(unsign

2014-03-24 19:12:07 738

转载 航空售票例子之服务器端的线程设计

服务器端在监听客户端的请求采用了一个线程,在为每个客户请求时又安排了一个线程。下面是用来监听客户端请求的线程所执行的函数:

2014-03-23 15:09:47 833

转载 服务器端的线程缓冲区

服务器端用来处理客户请求时采用了多线程。为每一个线程分配了一个处理信息的缓冲区。/*定义线程缓冲区的使用状态*/#define BUFF_OCCUPIED 1#define BUFF_FREED 0/*线程缓冲区结构*/typedef struct thread_buff_struct_t { /*线程缓冲区底索引号*/ int buff_index; /*保存对应线程底线程号

2014-03-23 12:26:10 1381

转载 一个售票工具之消息格式

一个Linux的航空售票小项目,自己做了一遍。这里再细细地了解一下。首先客户端与服务器之间传递的消息的格式:#define INITIAL_VALUE 65535/* MESSAGE TYPE OF CLIENT */#define DISCONNECT 0#define BUY_TICKET 1#define INQUIRE_ONE 2#define INQUIRE_ALL

2014-03-23 11:26:49 591

原创 pthread多线程

int pthread_join(pthread_t thread, void **retval);返回值:若成功则返回0,否则返回错误编号。调用该函数的线程将一直阻塞,直到指定的线程thread调用pthread_exit,从启动例程中返回或者被取消。看如下程序:#include #include void* printMsg1(void *data){ printf(

2014-03-13 15:49:41 526

原创 使用C++写抽象工厂模式涉及到的一些问题

代码是摘自《C++高级编程第二版》具体类图如下:代码如下:汽车类:#include class Car{public: virtual void info() = 0;};class Ford : public Car{public: virtual void info() { std::cout<< "Ford" << std::endl; }};

2014-03-09 17:20:40 742

原创 C++成员函数返回对象的引用

在C++类的成员函数中,包含了一个隐含的this指针。一般情况下,并不会显示地使用this指针,即通过”this->XXX“来使用类的成员。但是在成员函数返回对该调用函数的对象的引用时,会显示的使用this。为什么要返回调用该函数的对象的引用呢?C++ Primer 4里说用户希望能将几个操作连接成一个独立的表达式,例如下面:myScreen.move(4,0);myScreen.set

2014-03-08 15:54:17 2442

原创 组合模式

组合模式其实就是一个树状结构,其中有点包含组合,有的点就是叶子。组合模式中定义了一个包含了组合和叶子的抽象类,由于我们在使用时组合和叶子都继承了这个抽象类,所以为了避免叶子类使用了组合的方法,抽象类中的每一个方法都抛出一个异常。所以叶子子类重新定义了与自己相关的方法,组合子类重新定义了与自己相关的方法。如果它们调用了和自己不相关的方法,则抛出异常。组合模式中的抽象类有两个责任,一个是叶子责

2014-03-05 16:34:50 576

原创 C++容器的实现

现在的面试经常问到vector或queue怎么实现,好烦啊。由于刚刚看了迭代器设计模式一文,文中讲解了Java Collection Framework的框架,它们都实现了下面这个接口:所以,可以依靠这个接口实现我们自己的C++的容器类,有时间一定试一试,顺便与STL做一些比较。具体拿出其中的一个方法,比如iterator()方法来阐述一下如何实现。首先我们定义一个Iterat

2014-03-05 15:03:11 650

原创 设计模式之2迭代器原则

找出具有多重责任的类:设计原则:类的每个责任都有改变的潜在区域。超过一个责任,意味着超过一个改变区域。这个设计原则告诉我们,尽量让每个类保持单一责任。在迭代器模式中,对象集合类不仅要完成自己的事情(管理某种聚合),还要同时承担更多的责任(例如遍历)。这是对象集合类的两个责任,违反了我们的设计原则,所以把其中的一个责任(遍历)委托给了迭代器类。我对这个设计原则和文中的解释的理解为,设

2014-03-05 10:33:43 665

原创 C++的类成员

函数成员:1.      形参:A. 函数的形参可以是指针。在被调用函数中,对形参指针做修改并不影响实参的值,但是对形参指针所指向对象的修改将会影响实际的值。B. 实参是大型对象时,复制对象所付出的的时间和存储空间代价往往过大。对于这种情况形参应该定义成为引用或指针类型。C. 如果使用引用形参的唯一目的是避免复制参数,则应该将形参定义为const引用。D. ??const引用和

2014-03-04 16:13:07 717

原创 在Nginx中发现的trick

在判断HTTP发送方的请求方法时,可以这么来判断:if(!(r->method & (NGX_HTTP_GET|NGX_HTTP_HEAD))){    return NGX_HTTP_NOT_ALLOWED;}这个条件判断是要求请求方法必须是get或head,其他底不予处理。

2014-03-03 18:22:14 608

航空售票小系统

是《精通Linux C编程》刘学勇的书后边的一个例子。用多线程实现了一个售票系统。由于界面的一些库难以使用,所以服务器端我自己进行了一些调整,客户端完全没有做界面。如果大家觉得界面不需要的话,服务器端的也可以删掉不用。

2014-03-23

flex官方视频教程和练习源代码

本来是有天的东西,可是第三的代码就超过30M,上传不上来,只有1,2,4.从简到难,非常详细.

2010-08-24

flex在线视频聊天

视频+聊天,学习的好东西.更详细的资料在http://www.cnblogs.com/aierong/archive/2008/12/30/Flex.html。这里上传的只是一个成熟的作品,具体从简到难的步骤请直接访问网址。

2010-08-22

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

TA关注的人

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