自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

BlueDog专栏

所有的成功来源于坚持。

  • 博客(62)
  • 资源 (10)
  • 收藏
  • 关注

原创 一种简便定义javascript命名空间的方法

这种方法需要引用jQuery的$.extend方法,因此先需要引用jQuery,版本无所谓,你可以将这个方法写在公用模块内源码: //ns 可以是一个字符串,也可是指定的对象//如果是第一次定义,必需是一个用.分隔的字符串,这个函数会创建对应的空间function DEF_NAME_SPACE(ns,op){ switch(typeof ns){ case

2012-08-26 00:29:45 1960

原创 最接近C# 的Event的C++处理

boost Event

2011-02-15 23:27:00 3556 1

原创 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 8008 4

原创 让模板类支持可变模板参数

让模板类支持可变模板参数现如今才正真发现c++模板的强大,模板的强大在于不需要使用RTTI机制可以传递参数的类型信息,不过也有其遗憾的地方,就是对于引用和复制,模板并无法区分。例如templatestruct Test{typedef T Type;static void PrintTemplateTypeName(){     cout }}; 如

2009-10-22 22:55:00 6767 3

原创 c++虚继承对象的内存布局

c++虚继承对象的内存布局               --VC7.1特别版网上关于c++对象布局的文章挺多,而且《深度探索c++对象模型》(Inside The C++ Object Model 侯捷 译)一书中也很详细地介绍。如果你一点都不了解C++对象的布局,我推荐你看看《深度探索c++对象模型》的第三章,如果你意犹未尽下面的两个系列都很不错:一是陈皓的《C++ 对象的内存布

2009-10-22 00:23:00 17071 11

原创 c++模板元编程就是bullshit

c++模板元编程就是bullshit 学完所谓的模板元编程,我觉得c++模板元编程就是一坨屎。你可以振振有词的说它可以简化计算时间。好,你除了提供那几个所谓经典的例子外还有什么其它什么用么?说是图灵完备,连个在编译期调用个函数都处理不了,如下例templatestruct SinVal{    enum { m_inner_val = (int)(sin( (float

2009-08-11 01:20:00 3100 4

原创 c++中利用模板解决条件编译的问题

c++中利用模板解决条件编译的问题问题背景:唔,我正在写一个B+树,其中它的节点查找算法需要在不同的应用场景下采用不同的算法。我可以采用顺序查找和二分法查找两种方案,如果这个节点元素比较小时,用顺序查找的方案要快一些,当节点元素比较多时,则用二分法查找。第一方案:用if来解决我们会最容易想到的是templatestruct CBinaryTreeNode{   

2009-08-06 03:09:00 3933

原创 #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 2040 2

原创 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 4660

原创 B+树C++代码发布

B+树C++代码发布 代码:http://bluedog.download.csdn.net 没什么太多可以说的,B+树的c++模板实现,需要说明的一点是1、枝干节点的关键字在每个叶子节点的最后一个2、叶子节点中的Vals不是值集合,而是值指针集合,主要是减少移动时的拷贝时间     本来也想Keys也做也指针集合,但是会有一个问题,如果当做数据库的索引,它就必需调阅多

2009-05-10 22:00:00 7470

原创 B-树的C++实现

发布一个B-树的代码 代码下载:http://bluedog.download.csdn.net B-<span style="font-family:宋体;mso-ascii-font-family:">树网上的代码很象不是很多,关于它的原理我觉得没有必要要谈了,书上网上太多了。这里我花了几天的时间写了一个,大家觉得有用的话就用吧,已经进行大量的测试,应该没有什么太大问题

2009-05-04 18:11:00 3768 1

原创 C++类成员属性的一种简洁实现

                  C++类成员属性的一种简洁实现    一般来说对于标准C++而言是不存在成员属性这个概念的,以前大家都是用GetXXX/SetXXX来访问或取得数据,好象也没有感觉到任何不便。但是当我们用过C#之类的语言之后,我们总觉得C++这个方式太老土了。于是我们想去实现“属性”这个C++语言缺乏的要素。事实上网络上有很多人已经做了这部分工作,实现的方法有很多种,一种是用模

2008-12-14 23:58:00 8364 2

原创 如何判断程序是否重复运行的几种方法

如何判断程序是否重复运行的几种方法 判断程序的实例是否已经启动,无非是通过设立某个标识,让下次启动程序时知道该实例已经运行。嗯,可是在WIN32中每个进程都有自已独立的空间,那么如何处理呢,下面提供两种方案:方案一,使用内核对象因为内核对象是可以跨进程存在的,因此我们可以通过创建一个命名互斥体(Mutex)内核对象来判断,当用同一个名字的来创建Mutex时,CreateMutex会

2008-09-27 00:09:00 5100 1

原创 骗子不可怕,就怕骗子有文化

骗子不可怕,就怕骗子有文化 对于汉语编程我实在是不想说什么,看看代码大家就明白。下面给大家来一段强大的”汉语编程”,大家就会认识到所谓的汉语编程是什么东东了。 #include "汉语编程核心模块" 对象定义开始(测试对象)公有: 整型值;对象定义结束 主程序开始      整型变量;   测试对象测试对象变量;   字符目录串[256]

2008-04-30 20:29:00 2688 4

原创 一个COM调用时出现的错误及解决办法

 一个COM调用时出现的错误及解决办法这两天一直在用COM里的复合文档来做个东东。我通过C#的平台调用方法使用IStorage和IStream这些接口的,并写了一个流类来包装IStream。在“调试”模式下,运行得很好,但是在“Release”下,则报错了!症状为:在长时间读写一个复合文档时,开始是可以正常运行的,但是一段时间后,就会报错说“试图使用一个不存在的对象异常来自

2008-02-12 03:42:00 2509

原创 2008年第一份源码

 2008年第一份源码 代码下载地址:CSDN Download:http://download.csdn.net/source/351523官方地址:(下载方式见左边栏)GmailDriver:/Code/Csharp/ExpertLib/Console/ConsoleClassDemo.Rar雪停了,冰融了,太阳出来了,一切又恢复了正常。春节在家闲着也是闲着写了

2008-02-09 16:59:00 1654 2

原创 Dotnet专业组件开发揭密(四)

Dotnet专业组件开发揭密(四)--TypeDescriptor内部机制及其应用(下) 前两篇文章里我们TypeDescriptor是用来返回一个类的属性或事件描述符的,VS中使用的PropertyGrid就是通过它来取得一个类的属性的。而不是我们以为的是通过反射来做的。那么它的内部机制是如何的?TypeDescriptor它会进行几个判别,一是查看类是否实现了ICustomTy

2007-08-29 01:36:00 2165 1

原创 Dotnet专业组件开发揭密(三)

Dotnet专业组件开发揭密(三)--TypeDescriptor内部机制及其应用(中) 本文代码下载官方地地://Code/Csharp/BlogCode/TypeDescriptionProviderDemo.rarCSDN地址:http://download.csdn.net/user/BlueDog     上一篇我们讲到了如何利用ICustomTypeDesc

2007-08-23 23:56:00 2450 1

原创 Dotnet专业组件开发揭密(二)

Dotnet专业组件开发揭密(二)--TypeDescriptor内部机制及其应用(上) 本文代码下载官方地址://Code/Csharp/BlogCode/TypeDescriptorDemo.rarCSDN地址:http://download.csdn.net/user/BlueDog 本篇要讲述的是System.ComponentModel空间里最神奇的类,也是最

2007-08-22 01:28:00 2682 4

原创 Dotnet专业组件开发揭密(一)

Dotnet专业组件开发揭密(一) --扩展功能提供程序本文代码下载官方地址://Code/Csharp/BlogCode/ExtenderProvider.rarCSDN地址:http://download.csdn.net/source/231264 很多人会以为写组件是件容易的事,也许某些方面是这样的,比如你可以很简单地实现一个自定义的功能。但是写出来的组件好象跟

2007-08-19 23:18:00 2432 2

原创 结构化存储C#类库

 结构化存储C#类库 官方下载:见本博客左侧栏Gmaile Drive的下载方式//Code/CSharp/ExpertLib/Storage/Storage.RARCSDN下载地址:http://download.csdn.net/source/211119结构化存储不知什么原因,大家用得很少,我想可能是因为它很难用?太多的参数,太复杂的调用,太多要注意的地方。但是它

2007-07-17 00:22:00 4760 8

原创 新版压缩库发布

 新版压缩库发布代码下载地址:官方下载:见本博客左侧栏Gmaile Drive的下载方式    //Code/CSharp/ExpertLib/Compress/Exe.RAR (演示程序)//Code/CSharp/ExpertLib/Compress/Code.RAR(源代码)CSDN下载:演示程序地址: http://download.csdn.net/sourc

2007-07-02 02:29:00 3978 3

原创 关于本博客所有代码下载方式及说明

关于本博客所有代码下载方式及说明 如果你不能遵守以下要求和进行以下承诺,否则请不要进行相关软件下载和访问。1、本博客中所有出自于BlueDog的代码均可以自由使用,无论你是用于自由软件或是商业软件,但我不承担因为使用其代码造成的任何损失。如果你用于任何项目,我希望你能发一份邮件告诉我。我的Email: [email protected]、请你不要上传任何文档,也请你不要删除任何文

2007-06-15 00:10:00 1762 2

原创 C#设计模式乱谈(一)

C#设计模式乱谈(一) 其实很早以前就想仔细看看《设计模式:可复用面向对象软件的基础》这本书,于是到网上下了一本PDF版的,这绝对是一本好书,它的首要原因是太多人提到这本书,其次是我看了几天,还是毫无收获,就象一个人初入武当,师傅也不管他,直接丢了一本《武当心法》给你,然后让你自已去体会,我想他一定会不知所云。我想我也是这样子,应该是我功力太浅,所学甚少的缘故吧,于是最终不了了之了。总算2

2007-01-15 01:01:00 1778

原创 2007年的计划(草案)

一年过去了,一年又来了。人不能在时光流逝之间无所事事地渡过,每一年都应该有些长进,有些收获。于此才能无愧于心。一、今年打算完成一个报表组件,虽然这个项目在2006年10月就已经开始启动,并且已初步完成WinForm下的大部分功能,这个月正在听李建忠老师的《C#面向对象纵横谈》,才忽然发现原来写的好多代码有很多坏味道。因此打算进行重构,并争取能在6月之前完成WEB下的报表功能。二、继续维护升

2007-01-15 00:18:00 1706 1

原创 Dotnet终极压缩

Dotnet终极压缩 其实是没有什么是终极的,一个抓眼球的标题而已。CLR2.0里带来很多新东东,其中System.IO.Compression就是一个新的命名空间,里面包括两个类GzipStream和DeflaterStream,它们都可以用于解压缩,但是不支持ZIP、RAR等常用的压缩文件,RAR是涉及到专利的问题,而ZIP虽然格式是公开的,但是我想微软不太想支持,它可能更想大家用它自

2006-12-29 01:24:00 4698 5

原创 人民币大小写转换 C#版

using System;namespace ExpertLib.ChineseSpecial{    #region RMBException    ///     /// 人民币转换的错误    ///     public class RMBException : System.Exception    {        public RMBException(string msg)  

2006-12-15 01:35:00 5392 1

原创 新版公农历转换类(C#)

using System;namespace ExpertLib.ChinaSpecial{    #region ChineseCalendarException    ///     /// 中国日历异常处理    ///     public class ChineseCalendarException : System.Exception    {        public Chines

2006-12-13 03:20:00 7081 15

原创 360安全卫士传言随感

    我想我是一个愤青,至少在反对流氓软件这个方向上。世人对流氓软件的态度我很欣慰,因为还有一部分站了起在呼喊,在抗争,因为我很怕会看到如果所有的人麻木起来,在麻木中死去,甚至有一部分人开始享受这些被强奸的生活。其实我并不喜欢360安全卫士的,因为他的制作者居然是那个开启潘多拉魔盒的人。我不知道他是出于什么目的来制作这款软件的,所以一直就没有去下载。我想CSDN上很多反感这款软件的朋友大抵也

2006-10-07 18:16:00 2556 1

原创 酒醉后关于顾城

酒醉后关于顾城    我清醒么?80年的孩子一定不知道有个诗人曾经创造过,也毁灭过。早期的顾城心灵是纯净的,是用一双纯净的眼睛来打量这个世界,生于一个混沌的世界是一个人的悲哀,却是每一个艺术家的炼狱。有些人重生了,有些人死去了,有些人失去了方向。顾城选择了逃离,但却没逃出自已创造的世界。喜欢顾城,是因为他用黑色的眼睛寻找光明,喜欢顾城,是因为他看到了杨树失去了臂膀,却睁开了眼睛。不喜欢

2006-09-11 23:24:00 2455 1

原创 Vista之初体验

Vista之初体验今年比较闲,也正好前不久下了一个Windows Vista中文测试版的安装印象。好家伙,3个G,现在真是硬盘不要钱了,MS不知道为什么要搞这么多东东放在里面。先安了再说,在安装之前,让大家流流口水,看看我办公室最近配置的机器,是在一款ACER机器上换了点东东。呵呵。CPU:AMD Athlon64 X2 3800+(盒) 内存:DDRII533 1G 两条显卡

2006-09-04 22:13:00 1909

原创 秦军的建设思考

秦军的建设思考 其实这篇文章应该很早就出炉了,因为很多文字已经是几个月前就已经草就了。不过也是因为机缘巧合,在这个下午,我不想太多地关注于冰冷的技术,而且看到自已的博客好久没有更新了,于是把它整理了一下。    文章的起由是中央电视台放映的《复活的军团》,本来断断续续地看过,前几个月的一个周日正好就买了一张整合的DVD,又重新完整地看了一遍,于是有了写些东东的冲动。一、铁器时代

2006-06-20 17:13:00 2037

原创 DotNet剖析系列(二)——控件继承

DotNet剖析系列(二)                           ——控件继承      首先想要告诉大家的是MS一个龌龊的行为,一个人所共知的行为。而这个问题在所有MS提供的基本控件里都存在,比如我们想要对ComboBox这个控件稍微的扩展一下,加上一点点我们自已的东东。结果是很麻烦,很麻烦,甚至你都没办法使用继承来重载OnPaint。因为正常情况下,OnPaint在这

2006-06-13 22:40:00 2907 4

原创 C#进行平台调用时利用C++头文件的小技巧

C#进行平台调用时利用C++头文件的小技巧 我正好在做一个控件,其中需要引用WinXP自带的UxTheme.dll,因为我想生成一个纯粹的C#程序,而不是利用Manage C++来成一个托管类的动态库来作为C#程序的基础,因此想到需要转换定义。UxTheme.dll共有47个命名函数,找到VC7(我使用VS2003)中的对应头文件UxTheme.h,在UltraEdit32这个工具中很

2006-05-26 01:23:00 7032 1

原创 DotNet剖析系列(一)

DotNet剖析系列(一)            ——窗口从生到死 如果你的第一个Windows程序是从C#开始的,并且你是使用VS.net的模板来创建程序,可能你会习惯于看到以下的代码,也许并不会想到它背后有些什么运作。[STAThread] static void Main() {     Application.Run(new Form1());}

2006-05-13 22:06:00 2604 2

原创 DotNet下使用GDI+绘图时资源是否需要释放

DotNet下使用GDI+绘图时资源是否需要释放 可能很少有人注意到这样的问题,最近我在写一个绘图模块的时候,忽然意识到这好象是一个问题,因为不过我们以前用GDI绘图时,书本的代码会明确地告诉你一定要删除自已创建的绘图对象,因此我们常常写完了SelectObject,一定会马上写一个DeleteObject,以防止资源泄漏。可是,当你来到的DotNet的环境下,你随便打开一本关于绘图的

2006-05-08 00:51:00 5693 2

原创 简单而复杂的未来(一)

简单而复杂的未来(一)——.Net时代C/S、B/S、Desktop程序一统解决之道 这些天我一直在思考一个问题,C/S,B/S、Desktop应用程序有没有可能最后统一起来,用户可以不需要知道程序是什么类型,程序员可以只写一遍代码就可以在三种模式下运行。本文就是讨论这种可行性。C/S、B/S与Desktop应用程序倒底有没有本质区别呢,应该说看上去有区别,我们来看下面这张表(对W

2006-04-29 23:02:00 2013 2

原创 第一个系列完成!

     真的,不相信自已能坚持下来,把这个《解读》系列写完。虽然不是什么大成就,不过写这么多文字于自已确实是第一次。这是个值得记住的日子2006-4-25

2006-04-25 20:20:00 1743

原创 《代码大全》解读(完)

《代码大全》解读(完)     每个故事都会有最的一章,本书最后三章阐述了一些编程之外的东西,但是和软件工程有很大的关系。首先第三十一章谈到了《个人性格》。如果是中国人来写这本书,题目应该叫《个人修养》,外国人总爱把心理学扯进来,到了现在可能叫“情商”更加符合所谓后现代的文化。不过不管它叫什么,讲的还是一样的东东。作者认为一个优秀的专家或是大师一定是:1)          一个谦

2006-04-25 20:17:00 6319 5

原创 《代码大全》解读(十)

《代码大全》解读(十)     软件的发布最终日期即将来临,那么代码大全的读者会关注一些什么东东呢,接下来的四章就讲的是这方面的事情,二十七章《系统集成》、二十八章《代码调整》、二十九章《代码调试技术》、三十章节《软件优化》(个人觉得第二十八章的标题有点题不对文,不如用《代码优化》,而二十九章应与三十章合并一起称《重构》更加合理)。系统集成也就是将软件的各个功能子模块集成起来进行联调。

2006-04-24 22:02:00 2146

B+树C++代码(含B-树)

B+树C++代码,包括原来的B-树,以及网上流行的IP地址数据库 纯真IP地址数据库数据文件的读写代码

2009-05-10

B-树 C++实现 基本功能

B-树 C++实现 基本功能已实现, 代码经过严格测试,应该没有什么问题了

2009-05-04

Console环境下有用的类

它包括两个类,均属于ExpertLib.Console命名空间。<br> ConsoleProgressBar : 用于在Console下显示进度的<br> ConsoleColorText: 用于在Console下显示彩色文本<br>

2008-02-09

世界是平的(第二版) 第三部分

世界是平的 第三部分,将一、二、三全下下来再合并解包<br>不是我想多赚分,实在是CSDN不支持10M以上的文件,请<br>各位大大见谅。<br>另:本书版权归原作者所有。这个PDF也是我从别的网站download<br>下来的。

2008-01-01

专业组件开发揭密(三)代码

专业组件开发揭密(三)代码<br>演示了如何在2.0里动态添加类的自定义描述符提供者。

2007-08-23

专业组件开发揭密(二)代码

专业组件开发揭密(二)代码<br>演示了如何将字段显示在PropertyGrid中,

2007-08-22

改变控件颜色的扩展控件

C#专业控件开发源码一<br>演示了如何开发一个扩展功能控件,

2007-08-19

结构化存储C#类库

一个功能比较完善的结构化存储C#类库,可以轻松完成结构化文档的创建和读取。

2007-07-17

C#压缩库

强大的C#压缩库,具体请看演示程序

2007-07-02

C#压缩库演示程序

C#压缩库演示程序,演示各种方法,

2007-07-02

空空如也

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

TA关注的人

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