C++
文章平均质量分 59
ACE777999
热衷于网络编程
展开
-
c socket(转载)
socket目 录socket 1.socket() 2.bind() 3.connect() 4.listen() 5.accept() 6.send() 和recv() 7.sendto() 和recvfrom() 8.close() 和shutd原创 2013-06-08 11:46:56 · 904 阅读 · 0 评论 -
用完成端口(iocp) 写的一个简单的服务端例子
下面是用完成端口写的一个简单的 例子, 完成端口和重叠io 一样都是异步io。代码如下。欢迎大家建议 改进、原创 2014-01-11 00:54:59 · 2495 阅读 · 0 评论 -
智能指针auto_ptr的简单实现
智能指针auto_ptr的简单实现原创 2014-01-12 14:41:41 · 1030 阅读 · 0 评论 -
STL的内存池的设计源码分析和体会
STL的内存池的设计源码分析和体会原创 2014-01-14 18:29:21 · 1306 阅读 · 0 评论 -
整理过后的电驴emlue的源码,直接用vs2010编译可运行,不需要配置环境
下载链接:http://www.527book.com/emule0.50a-Xtreme8.1-sources.zip也可以加入群 C/C++/TCP/UDP/linux/MFC/WTL 群号:77278127.群共享有。下载下来后 直接打开 下载下来后 打开srchybrid文件夹 下的 emule_vc9.sln 。可以直接编译通过。原创 2013-06-08 15:48:31 · 1485 阅读 · 0 评论 -
比较成员被声明的顺序
在《深入探索C++对象模型》中,谈到声明的顺序时候说到, 声明变量的顺序和他们实际在内存的排列顺序是可以不一致的,但是大多数编译器实现都一致, 基本上是按照其声明的顺序而排列的。 并且给出下面这段代码 来比较任意两个成员的排列顺序。 书中的代码 在vs系列里面 编译不过,我改了一下 ,没有问题。 下面是实例代码#include class A{public: int a;原创 2014-02-26 12:56:12 · 931 阅读 · 0 评论 -
MFC整个框架的粗略概况
对于windows程序 ,无非是消息循环 和 窗口过程的消息处理。 无论是MFC 或者是WTL ,都只是内部封装,搞清楚这个过程 对于掌握框架,甚至自己制作框架都有好处。 前段时间已经分析了一下WTL的, 关于MFC的框架,侯杰的 深入浅出MFC讲的比较细致。很到位,作为想把MFC彻底搞清楚的人 ,不应该去拒绝这本书。 MFC实现了自己的RTTI, 当原创 2014-02-27 12:27:08 · 1218 阅读 · 0 评论 -
世界编程大赛第一名写的程序C 实现黑客帝国数字雨
以下是代码片段:e100 33 f6 bf 0 20 b5 10 f3 a5 8c c8 5 0 2 50 68 13 1 cb e 1f be a1 1 bf 0 1 e11b 6 57 b8 11 1 bb 21 13 89 7 4b 4b 48 79 f9 ad 86 e0 8b c8 bd ff ff e8 20 e134 0 3d 0 1 74 1a 7f 3 aa eb转载 2013-06-08 11:36:53 · 11211 阅读 · 4 评论 -
String类的基本实现。
#include #include using namespace std;class String{ public: String(const char *str = NULL); // 通用构造函数 String(const String &another); // 拷贝构造函数 String & operator=(const String &rhs)原创 2013-06-23 23:34:58 · 1141 阅读 · 0 评论 -
WSAEventSelect模型
#include #include // initsock.h 文件#pragma comment(lib, "WS2_32") // 链接到WS2_32.libclass CInitSock{public:CInitSock(BYTE minorVer = 2, BYTE majorVer = 2){ // 初始化WS2_32.dllWSADATA原创 2013-07-25 22:34:45 · 1193 阅读 · 0 评论 -
WTL的框架粗略概况
大道不过三两行,说穿不值一文钱。 WTL的源码比MFC的要简洁一些。 虽然UI封装的少,但是没有大碍,如果WTL用时间长了 你会觉得 比MFC更舒服,实际上MFC提供的文档视图结构 基本上 大部分人 都没用到,很多做界面开发的 更本不需要这个。原创 2014-01-30 00:04:33 · 1400 阅读 · 0 评论 -
C 实现黑客帝国数字雨
黑客帝国大家应该都看过吧 ! 其实也没有什么吸引我的 出了里面的数字雨 很漂亮也很经典 一直深深的吸引着我 ! 下面 我们用 VC 来实现 #include #define ID_TIMER 1 #define STRMAXLEN 25 //一个显示列的最大长度 #define STRMINLEN 8 //一转载 2013-06-08 11:45:35 · 5312 阅读 · 3 评论 -
ROUND_UP函数详解(STL内存分配的时候 内存对齐上调大小的函数)
在STL的源码中,或者是其他地方碰到内存对齐的时候 一般会有一个类似于round_up的函数。 一般是像这样子 #define __ALIGN 8 //假设是按照8个字节对齐 static size_t ROUND_UP(size_t bytes) {原创 2014-04-13 15:39:13 · 5695 阅读 · 0 评论 -
模仿MFC寻找消息响应函数指针的 核心 代码
typedef struct {UINT nMessage;UINT nCode;UINT nID;UINT nLastID;UINT nSig;int * p;}TEST;const TEST* AFXAPIMyAfxFindMessageEntry(const TEST* lpEntry,UINT nMsg, UINT nCode, UINT原创 2014-06-05 16:17:19 · 942 阅读 · 0 评论 -
电驴 emule 源码分析 (1)
关于emule 主要就是 连接 kad网络部分, 搜索部分,共享部分,下载部分,还有就是IRC聊天部分。IRC聊天部分应该不是大多数人想知道的重点,核心部分 还是kad网络的构造 和 下载部分 的实现。 我看了下 搜索部分,大致的过程是以下酱紫。 希望有更多 学习emule源码的人 一起交流共享。原创 2014-07-03 09:46:49 · 4549 阅读 · 0 评论 -
placement new 的用法 简单的例子
placement new 构造对象的话 可以显式的去析构原创 2014-01-10 19:08:20 · 1209 阅读 · 0 评论 -
以多态的方式处理数组 产生的问题 实例代码
以多态的方式处理数组原创 2014-01-10 14:58:46 · 845 阅读 · 0 评论 -
VC问与答
1、在VC的MFC程序中能否使用cout输出?答:不能。必须使用CDC来进行输出。2、C++中子类的构造函数是否会自动调用基类构造函数?答:会。如果在子类的构造函数中不显式指定调用基类构造函数,则将自动调用基类缺省构造函数,所以基类一定要有缺省构造函数。如果子类的构造函数除了调用基类构造函数以外什么都不做,不能不写,必须写一个空函数。3、子类对象的初始化过程原创 2013-06-08 11:48:04 · 1055 阅读 · 0 评论 -
再玩KMP算法
废话少说,我把代码弄上去,以免以后忘记了,算是做个纪念吧。#include #include using namespace std;void GetNext(char str[],int Next[]);void GetNextval(char str[],int Nextval[]);int KMP(string T,string str,int *Next原创 2013-06-08 11:34:18 · 839 阅读 · 0 评论 -
线程池实现处理多个连接
#include #include // initsock.h 文件#pragma comment(lib, "WS2_32") // 链接到WS2_32.libclass CInitSock{public:CInitSock(BYTE minorVer = 2, BYTE majorVer = 2){ // 初始化WS2_32.dllWSADATA原创 2013-07-30 16:05:26 · 1393 阅读 · 0 评论 -
一个重叠io的例子 实现一个简单的服务器
#include #define STRICT#define _WIN32_WINNT 0x0500 // Windows 2000 or later#define WIN32_LEAN_AND_MEAN#include #include #pragma comment(lib,"Ws2_32.lib")#pragma comment(lib,"Mswsock.lib")#define BUFFE原创 2013-08-04 01:01:31 · 1220 阅读 · 0 评论 -
各种排序算法的实现-5(表插入排序-2)
表插入排序 最后还要整理一下 按照由小到大的顺序去排列。 下面是算法的实现代码:原创 2013-12-29 01:10:29 · 1249 阅读 · 0 评论 -
各种排序算法的实现-6(希尔排序的实现)
希尔排序的实现同样也是一种插入排序,只是它比直接插入排序更加牛逼一点。原创 2013-12-29 01:52:41 · 1797 阅读 · 1 评论 -
各种排序算法的实现-7(冒泡排序的实现)
这种排序算法 在各种C语言教材当中 几乎是介绍的第一种 算法。原创 2013-12-29 02:01:01 · 1543 阅读 · 0 评论 -
各种排序算法的实现-4(表插入排序-1)
现在介绍一下表插入排序。 这种排序算法和直接插入排序很像,每一个节点都存在一个 next域 来指示 这个节点的下一个节点, 和链表有点像, 在插入的过程当中就保证当前已经根据他们的next指向的位置 而链成了一个有序的列表,然后第二步 再帮这个表按照顺序整理为一个 新的 按照大小顺序 而排列的表。 首先演示一下插入的过程, 下面是具体的实验代码: #define SI原创 2013-12-29 00:13:08 · 1236 阅读 · 0 评论 -
各种排序算法的实现-3(2路插入排序)
这种排序在 折半插入排序的基础上更进一步, 比较次数更少了,先利用一个辅助空间,相同的就可以了。首先看一下折半查找算法, 折半查找可以用递归来写 也可以用 循环。 templateint serach(T *p, int len, T key){ T low, high; high = len; low = 0; while (low <= high) { int原创 2013-12-24 16:16:08 · 1036 阅读 · 0 评论 -
各种排序算法的实现-9(快速排序的实现)
这种排序算法 实际上也要依靠冒泡的手段。大致思路是这样子的, 比如有个序列, 1,4,7,-33,24,9,10,22,43,0.原创 2013-12-29 18:43:52 · 994 阅读 · 0 评论 -
各种排序算法的实现-8(选择排序的实现)
这种排序算法的实现很容易理解 就是从后面的序列中找一个最小的出来,不断的找啊 找最后整个堆找没了就完了思路很简单, 就好像你在人家教室外面喊 第一名出来,然后第一名出来 ,第二名出来 ,第二名出来, 如此下去 整个教室就空了, 选择排序一样,就是 第一次喊 最小的出来,然后 把最小的 给推出去, 不断的喊 喊道整个序列都没了 也就有序了 下面是具体的算法的实现的例子 大家可以看看原创 2013-12-29 02:38:29 · 1011 阅读 · 0 评论 -
各种排序算法的实现-11(基数排序算法)
这种算法可谓独树一帜, 基数排序算法的基本思路如下 比如有一组数, 009,003,239, 342,039,001,232。 我们只需要从各位 并且归类即可。 首先 数字 只可能出现 0,1,2,3,4,5,6,7,8,9.每个数的 每一位 只可能出现这10种情况, 那么就可以这样子做 首先取这些数的个位出来, 那么为1的有一个,为2的有两个,为3的有一个,为9原创 2013-12-30 14:06:19 · 890 阅读 · 0 评论 -
各种排序算法的实现-10(归并排序的实现)
归并排序实际上也是一种选择排序。 思路相对简单,就不详细的说了 下面是示例代码原创 2013-12-30 01:59:55 · 1329 阅读 · 0 评论 -
各种排序算法的实现-2(折半插入排序)
排序算法原创 2013-12-23 01:59:17 · 1559 阅读 · 0 评论 -
各种排序算法的实现-1(直接插入排序)
很多排序算法 可能你当时看完还记得,但是时间长了就会忘记, 我现在在这里 记录一下 ,供大家共同讨论。 首先介绍最直接 最简单的 ,直接插入排序算法: 这种算法思想比较简单,就是从第二元素开始,依次往后挪动, 每一个元素与前面的元素逐个比较,一旦找到了比自己大的元素 或者相等的元素,那么ok 直接插进去。 如此循环 直到列表遍历完毕。原创 2013-12-22 22:01:33 · 1388 阅读 · 0 评论 -
用win32 api的方式 实现按钮自绘
win32 api的方式 直接绘制按钮。原创 2014-01-08 20:47:07 · 4906 阅读 · 0 评论