C/C++
文章平均质量分 80
SolidusSnake
这个作者很懒,什么都没留下…
展开
-
一个人的战争 (1) : Bencoding格式解码
自学C++一年有余,一直想自己开发个什么东西,终于在今年7月份决定写个BT的客户端吧,恩,说干就干,于是开始了这次痛苦的旅程,越深入到各个细节当中越觉得自己可能完不成这个东西了,故决定开始写Blog激励自己一下,也希望能把一个编程新手遇到的各种困难都记录下来,供他人借鉴,也便于自己日后的查寻. 我这人比较罗嗦,可能整个文档中间会夹杂一些个人感悟,期望哪位不幸读到的朋友谅解. 有对P原创 2006-09-05 01:19:00 · 1296 阅读 · 0 评论 -
Exceptional C++ 读书笔记
Exceptional C++ 读书笔记 //内存管理的一部分来自于http://blog.csdn.net/kingofark/category/9109.aspx Item 1 Iterator: (1): 注意当前迭代器是否有效,如果无效则解引用产生程序错误; (2):注意当前迭代器生命期,某些容器经过某些操作后将重新分配内部存储空间,则当前迭代器无效; (3) : 有效范围原创 2006-09-05 01:34:00 · 1000 阅读 · 0 评论 -
More Exceptional C++ 读书笔记
More Exceptional C++ 读书笔记 Item 1 Switching Streams (1): 多考虑易读性,避免编写过渡简洁但是不易懂,不易维护的代码; 记个相当简洁的流切换代码: (argc > 2 ? ofstream(argv[2], ios::out|ios::binary) : cout ) 1 ? ifstream(argv[1], ios原创 2006-09-05 01:34:00 · 945 阅读 · 0 评论 -
一个人的战争(2) : 成员函数与线程
本来今天打算贴BT Client的Tracker Requester的代码的,可是整理的不太完善,因为里面牵扯到很多线程和IOCP的东西,所以我先把一部分自己封装的线程代码贴上来供各位读者评论 先看下我对Win32线程的最浅封装, 注意这个是声明在thrad/win32/data_type.h下的struct ThreadHandle原创 2006-09-06 18:03:00 · 1097 阅读 · 0 评论 -
一个人的战争(3) : 我眼中的异步与非阻塞
最近在尝试封装个网络工具包,从Socket开始,希望全部自己动手并且能提供一个跨平台的接口,哈哈,新手的通病就是求大求全,不过有一点,就是学习一些现代操作系统共有的特性的时候,我认为站在多个差不多的平台的角度来看待同一个问题要比单一的观察一个OS提供的API要好的多. 闲话少说, 当我进行到WIN32的OVERLAPPED I/O和IOCP的时候突然发现我无法继原创 2006-09-06 21:49:00 · 1097 阅读 · 0 评论 -
泛化的ScopeGuard模板类
#pragma once#include cassert>#include memory>#include "non_copy_able.h"class ScopeGuardImp : private NonCopyable...{public: ScopeGuardImp() ...{ }; virtual ~ScopeGuardImp()...{ }};t原创 2006-09-08 23:41:00 · 1275 阅读 · 1 评论 -
C语言结构的成员对齐
Natural Alignment == sizeof(type); Order Alignment == k == 所指定的Alignment; 例如#pragma pack(8) k == 8; Actual Alignment == min(Natural Alignment, k); struct Actual Alignment == max(each member);原创 2008-02-20 01:43:00 · 574 阅读 · 0 评论