
VC/MFC
文章平均质量分 75
BlueDog
一个业余程序员,一个业余羽毛球爱好者,一个业余星际选手,一个年过三十的老人。
展开
-
如何判断程序是否重复运行的几种方法
如何判断程序是否重复运行的几种方法 判断程序的实例是否已经启动,无非是通过设立某个标识,让下次启动程序时知道该实例已经运行。嗯,可是在WIN32中每个进程都有自已独立的空间,那么如何处理呢,下面提供两种方案:方案一,使用内核对象因为内核对象是可以跨进程存在的,因此我们可以通过创建一个命名互斥体(Mutex)内核对象来判断,当用同一个名字的来创建Mutex时,CreateMutex会原创 2008-09-27 00:09:00 · 5282 阅读 · 1 评论 -
让模板类支持可变模板参数
让模板类支持可变模板参数现如今才正真发现c++模板的强大,模板的强大在于不需要使用RTTI机制可以传递参数的类型信息,不过也有其遗憾的地方,就是对于引用和复制,模板并无法区分。例如templatestruct Test{typedef T Type;static void PrintTemplateTypeName(){ cout }}; 如原创 2009-10-22 22:55:00 · 6870 阅读 · 3 评论 -
c++虚继承对象的内存布局
c++虚继承对象的内存布局 --VC7.1特别版网上关于c++对象布局的文章挺多,而且《深度探索c++对象模型》(Inside The C++ Object Model 侯捷 译)一书中也很详细地介绍。如果你一点都不了解C++对象的布局,我推荐你看看《深度探索c++对象模型》的第三章,如果你意犹未尽下面的两个系列都很不错:一是陈皓的《C++ 对象的内存布原创 2009-10-22 00:23:00 · 17330 阅读 · 11 评论 -
Modern C++ Design 读书笔记一
一直以来都以为自已对于c++是很熟悉的,但是最近在看《Modern C++ Design》(中文名:C++设计新思维--范型编程与设计模式之应用)这本书时才发现自已对于C++实在是了解的太少了。 用法一:把模板参数当作基类首先来看一个很简单的类POINTstruct POINT{ int X; int Y; POINT(int x=0,int y=原创 2009-05-22 19:23:00 · 4734 阅读 · 0 评论 -
B+树C++代码发布
B+树C++代码发布 代码:http://bluedog.download.youkuaiyun.com 没什么太多可以说的,B+树的c++模板实现,需要说明的一点是1、枝干节点的关键字在每个叶子节点的最后一个2、叶子节点中的Vals不是值集合,而是值指针集合,主要是减少移动时的拷贝时间 本来也想Keys也做也指针集合,但是会有一个问题,如果当做数据库的索引,它就必需调阅多原创 2009-05-10 22:00:00 · 7544 阅读 · 0 评论 -
#pragma pack 与 sizeof
#pragma pack 与 sizeof #pragma 是一个预处理指令,其中#pragma pack指令直接影响到一个结构体、联合体、类的内存布局。那么它是如何影响的,首先我们来看两个类#pargam pack(8)struct TEST1{ char v[9]; int x;}; struct TEST2{ char v[9];原创 2009-07-22 20:06:00 · 2088 阅读 · 2 评论 -
B-树的C++实现
发布一个B-树的代码 代码下载:http://bluedog.download.youkuaiyun.com B-<span style="font-family:宋体;mso-ascii-font-family:">树网上的代码很象不是很多,关于它的原理我觉得没有必要要谈了,书上网上太多了。这里我花了几天的时间写了一个,大家觉得有用的话就用吧,已经进行大量的测试,应该没有什么太大问题原创 2009-05-04 18:11:00 · 3841 阅读 · 1 评论 -
C++类成员属性的一种简洁实现
C++类成员属性的一种简洁实现 一般来说对于标准C++而言是不存在成员属性这个概念的,以前大家都是用GetXXX/SetXXX来访问或取得数据,好象也没有感觉到任何不便。但是当我们用过C#之类的语言之后,我们总觉得C++这个方式太老土了。于是我们想去实现“属性”这个C++语言缺乏的要素。事实上网络上有很多人已经做了这部分工作,实现的方法有很多种,一种是用模原创 2008-12-14 23:58:00 · 8460 阅读 · 2 评论 -
C++事件机制(上篇)-- Observer模式
C++事件机制(上篇)-- Observer模式 简介:本文通过上中下三篇文章来分析c++事件机制的各个方面,并实作出一个c++的事件库。 用过C#的朋友,一定对于C#的事件机制感觉很爽,来我们看一看一个C#的例子。class Test { public delegate void ClickHandle(int X,int Y);原创 2009-11-10 01:18:00 · 8117 阅读 · 4 评论