- 博客(62)
- 资源 (10)
- 收藏
- 关注
原创 一种简便定义javascript命名空间的方法
这种方法需要引用jQuery的$.extend方法,因此先需要引用jQuery,版本无所谓,你可以将这个方法写在公用模块内源码: //ns 可以是一个字符串,也可是指定的对象//如果是第一次定义,必需是一个用.分隔的字符串,这个函数会创建对应的空间function DEF_NAME_SPACE(ns,op){ switch(typeof ns){ case
2012-08-26 00:29:45
2019
原创 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
8116
4
原创 让模板类支持可变模板参数
让模板类支持可变模板参数现如今才正真发现c++模板的强大,模板的强大在于不需要使用RTTI机制可以传递参数的类型信息,不过也有其遗憾的地方,就是对于引用和复制,模板并无法区分。例如templatestruct Test{typedef T Type;static void PrintTemplateTypeName(){ cout }}; 如
2009-10-22 22:55:00
6870
1
原创 c++虚继承对象的内存布局
c++虚继承对象的内存布局 --VC7.1特别版网上关于c++对象布局的文章挺多,而且《深度探索c++对象模型》(Inside The C++ Object Model 侯捷 译)一书中也很详细地介绍。如果你一点都不了解C++对象的布局,我推荐你看看《深度探索c++对象模型》的第三章,如果你意犹未尽下面的两个系列都很不错:一是陈皓的《C++ 对象的内存布
2009-10-22 00:23:00
17327
2
原创 c++模板元编程就是bullshit
c++模板元编程就是bullshit 学完所谓的模板元编程,我觉得c++模板元编程就是一坨屎。你可以振振有词的说它可以简化计算时间。好,你除了提供那几个所谓经典的例子外还有什么其它什么用么?说是图灵完备,连个在编译期调用个函数都处理不了,如下例templatestruct SinVal{ enum { m_inner_val = (int)(sin( (float
2009-08-11 01:20:00
3182
3
原创 c++中利用模板解决条件编译的问题
c++中利用模板解决条件编译的问题问题背景:唔,我正在写一个B+树,其中它的节点查找算法需要在不同的应用场景下采用不同的算法。我可以采用顺序查找和二分法查找两种方案,如果这个节点元素比较小时,用顺序查找的方案要快一些,当节点元素比较多时,则用二分法查找。第一方案:用if来解决我们会最容易想到的是templatestruct CBinaryTreeNode{
2009-08-06 03:09:00
4026
原创 #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
2087
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
4734
原创 B+树C++代码发布
B+树C++代码发布 代码:http://bluedog.download.youkuaiyun.com 没什么太多可以说的,B+树的c++模板实现,需要说明的一点是1、枝干节点的关键字在每个叶子节点的最后一个2、叶子节点中的Vals不是值集合,而是值指针集合,主要是减少移动时的拷贝时间 本来也想Keys也做也指针集合,但是会有一个问题,如果当做数据库的索引,它就必需调阅多
2009-05-10 22:00:00
7541
原创 B-树的C++实现
发布一个B-树的代码 代码下载:http://bluedog.download.youkuaiyun.com B-<span style="font-family:宋体;mso-ascii-font-family:">树网上的代码很象不是很多,关于它的原理我觉得没有必要要谈了,书上网上太多了。这里我花了几天的时间写了一个,大家觉得有用的话就用吧,已经进行大量的测试,应该没有什么太大问题
2009-05-04 18:11:00
3837
1
原创 C++类成员属性的一种简洁实现
C++类成员属性的一种简洁实现 一般来说对于标准C++而言是不存在成员属性这个概念的,以前大家都是用GetXXX/SetXXX来访问或取得数据,好象也没有感觉到任何不便。但是当我们用过C#之类的语言之后,我们总觉得C++这个方式太老土了。于是我们想去实现“属性”这个C++语言缺乏的要素。事实上网络上有很多人已经做了这部分工作,实现的方法有很多种,一种是用模
2008-12-14 23:58:00
8457
2
原创 如何判断程序是否重复运行的几种方法
如何判断程序是否重复运行的几种方法 判断程序的实例是否已经启动,无非是通过设立某个标识,让下次启动程序时知道该实例已经运行。嗯,可是在WIN32中每个进程都有自已独立的空间,那么如何处理呢,下面提供两种方案:方案一,使用内核对象因为内核对象是可以跨进程存在的,因此我们可以通过创建一个命名互斥体(Mutex)内核对象来判断,当用同一个名字的来创建Mutex时,CreateMutex会
2008-09-27 00:09:00
5274
1
原创 骗子不可怕,就怕骗子有文化
骗子不可怕,就怕骗子有文化 对于汉语编程我实在是不想说什么,看看代码大家就明白。下面给大家来一段强大的”汉语编程”,大家就会认识到所谓的汉语编程是什么东东了。 #include "汉语编程核心模块" 对象定义开始(测试对象)公有: 整型值;对象定义结束 主程序开始 整型变量; 测试对象测试对象变量; 字符目录串[256]
2008-04-30 20:29:00
2733
4
原创 一个COM调用时出现的错误及解决办法
一个COM调用时出现的错误及解决办法这两天一直在用COM里的复合文档来做个东东。我通过C#的平台调用方法使用IStorage和IStream这些接口的,并写了一个流类来包装IStream。在“调试”模式下,运行得很好,但是在“Release”下,则报错了!症状为:在长时间读写一个复合文档时,开始是可以正常运行的,但是一段时间后,就会报错说“试图使用一个不存在的对象异常来自
2008-02-12 03:42:00
2620
原创 2008年第一份源码
2008年第一份源码 代码下载地址:优快云 Download:http://download.youkuaiyun.com/source/351523官方地址:(下载方式见左边栏)GmailDriver:/Code/Csharp/ExpertLib/Console/ConsoleClassDemo.Rar雪停了,冰融了,太阳出来了,一切又恢复了正常。春节在家闲着也是闲着写了
2008-02-09 16:59:00
1698
2
原创 Dotnet专业组件开发揭密(四)
Dotnet专业组件开发揭密(四)--TypeDescriptor内部机制及其应用(下) 前两篇文章里我们TypeDescriptor是用来返回一个类的属性或事件描述符的,VS中使用的PropertyGrid就是通过它来取得一个类的属性的。而不是我们以为的是通过反射来做的。那么它的内部机制是如何的?TypeDescriptor它会进行几个判别,一是查看类是否实现了ICustomTy
2007-08-29 01:36:00
2268
1
原创 Dotnet专业组件开发揭密(三)
Dotnet专业组件开发揭密(三)--TypeDescriptor内部机制及其应用(中) 本文代码下载官方地地://Code/Csharp/BlogCode/TypeDescriptionProviderDemo.rar优快云地址:http://download.youkuaiyun.com/user/BlueDog 上一篇我们讲到了如何利用ICustomTypeDesc
2007-08-23 23:56:00
2515
原创 Dotnet专业组件开发揭密(二)
Dotnet专业组件开发揭密(二)--TypeDescriptor内部机制及其应用(上) 本文代码下载官方地址://Code/Csharp/BlogCode/TypeDescriptorDemo.rar优快云地址:http://download.youkuaiyun.com/user/BlueDog 本篇要讲述的是System.ComponentModel空间里最神奇的类,也是最
2007-08-22 01:28:00
2735
3
原创 Dotnet专业组件开发揭密(一)
Dotnet专业组件开发揭密(一) --扩展功能提供程序本文代码下载官方地址://Code/Csharp/BlogCode/ExtenderProvider.rar优快云地址:http://download.youkuaiyun.com/source/231264 很多人会以为写组件是件容易的事,也许某些方面是这样的,比如你可以很简单地实现一个自定义的功能。但是写出来的组件好象跟
2007-08-19 23:18:00
2493
2
原创 结构化存储C#类库
结构化存储C#类库 官方下载:见本博客左侧栏Gmaile Drive的下载方式//Code/CSharp/ExpertLib/Storage/Storage.RAR优快云下载地址:http://download.youkuaiyun.com/source/211119结构化存储不知什么原因,大家用得很少,我想可能是因为它很难用?太多的参数,太复杂的调用,太多要注意的地方。但是它
2007-07-17 00:22:00
4844
8
原创 新版压缩库发布
新版压缩库发布代码下载地址:官方下载:见本博客左侧栏Gmaile Drive的下载方式 //Code/CSharp/ExpertLib/Compress/Exe.RAR (演示程序)//Code/CSharp/ExpertLib/Compress/Code.RAR(源代码)优快云下载:演示程序地址: http://download.youkuaiyun.com/sourc
2007-07-02 02:29:00
4019
3
原创 关于本博客所有代码下载方式及说明
关于本博客所有代码下载方式及说明 如果你不能遵守以下要求和进行以下承诺,否则请不要进行相关软件下载和访问。1、本博客中所有出自于BlueDog的代码均可以自由使用,无论你是用于自由软件或是商业软件,但我不承担因为使用其代码造成的任何损失。如果你用于任何项目,我希望你能发一份邮件告诉我。我的Email: xtlxs1976@163.com2、请你不要上传任何文档,也请你不要删除任何文
2007-06-15 00:10:00
1818
2
原创 C#设计模式乱谈(一)
C#设计模式乱谈(一) 其实很早以前就想仔细看看《设计模式:可复用面向对象软件的基础》这本书,于是到网上下了一本PDF版的,这绝对是一本好书,它的首要原因是太多人提到这本书,其次是我看了几天,还是毫无收获,就象一个人初入武当,师傅也不管他,直接丢了一本《武当心法》给你,然后让你自已去体会,我想他一定会不知所云。我想我也是这样子,应该是我功力太浅,所学甚少的缘故吧,于是最终不了了之了。总算2
2007-01-15 01:01:00
1830
原创 2007年的计划(草案)
一年过去了,一年又来了。人不能在时光流逝之间无所事事地渡过,每一年都应该有些长进,有些收获。于此才能无愧于心。一、今年打算完成一个报表组件,虽然这个项目在2006年10月就已经开始启动,并且已初步完成WinForm下的大部分功能,这个月正在听李建忠老师的《C#面向对象纵横谈》,才忽然发现原来写的好多代码有很多坏味道。因此打算进行重构,并争取能在6月之前完成WEB下的报表功能。二、继续维护升
2007-01-15 00:18:00
1760
1
原创 Dotnet终极压缩
Dotnet终极压缩 其实是没有什么是终极的,一个抓眼球的标题而已。CLR2.0里带来很多新东东,其中System.IO.Compression就是一个新的命名空间,里面包括两个类GzipStream和DeflaterStream,它们都可以用于解压缩,但是不支持ZIP、RAR等常用的压缩文件,RAR是涉及到专利的问题,而ZIP虽然格式是公开的,但是我想微软不太想支持,它可能更想大家用它自
2006-12-29 01:24:00
4755
5
原创 人民币大小写转换 C#版
using System;namespace ExpertLib.ChineseSpecial{ #region RMBException /// /// 人民币转换的错误 /// public class RMBException : System.Exception { public RMBException(string msg)
2006-12-15 01:35:00
5455
1
原创 新版公农历转换类(C#)
using System;namespace ExpertLib.ChinaSpecial{ #region ChineseCalendarException /// /// 中国日历异常处理 /// public class ChineseCalendarException : System.Exception { public Chines
2006-12-13 03:20:00
7199
15
原创 360安全卫士传言随感
我想我是一个愤青,至少在反对流氓软件这个方向上。世人对流氓软件的态度我很欣慰,因为还有一部分站了起在呼喊,在抗争,因为我很怕会看到如果所有的人麻木起来,在麻木中死去,甚至有一部分人开始享受这些被强奸的生活。其实我并不喜欢360安全卫士的,因为他的制作者居然是那个开启潘多拉魔盒的人。我不知道他是出于什么目的来制作这款软件的,所以一直就没有去下载。我想优快云上很多反感这款软件的朋友大抵也
2006-10-07 18:16:00
2614
1
原创 酒醉后关于顾城
酒醉后关于顾城 我清醒么?80年的孩子一定不知道有个诗人曾经创造过,也毁灭过。早期的顾城心灵是纯净的,是用一双纯净的眼睛来打量这个世界,生于一个混沌的世界是一个人的悲哀,却是每一个艺术家的炼狱。有些人重生了,有些人死去了,有些人失去了方向。顾城选择了逃离,但却没逃出自已创造的世界。喜欢顾城,是因为他用黑色的眼睛寻找光明,喜欢顾城,是因为他看到了杨树失去了臂膀,却睁开了眼睛。不喜欢
2006-09-11 23:24:00
2533
1
原创 Vista之初体验
Vista之初体验今年比较闲,也正好前不久下了一个Windows Vista中文测试版的安装印象。好家伙,3个G,现在真是硬盘不要钱了,MS不知道为什么要搞这么多东东放在里面。先安了再说,在安装之前,让大家流流口水,看看我办公室最近配置的机器,是在一款ACER机器上换了点东东。呵呵。CPU:AMD Athlon64 X2 3800+(盒) 内存:DDRII533 1G 两条显卡
2006-09-04 22:13:00
1963
原创 秦军的建设思考
秦军的建设思考 其实这篇文章应该很早就出炉了,因为很多文字已经是几个月前就已经草就了。不过也是因为机缘巧合,在这个下午,我不想太多地关注于冰冷的技术,而且看到自已的博客好久没有更新了,于是把它整理了一下。 文章的起由是中央电视台放映的《复活的军团》,本来断断续续地看过,前几个月的一个周日正好就买了一张整合的DVD,又重新完整地看了一遍,于是有了写些东东的冲动。一、铁器时代
2006-06-20 17:13:00
2083
原创 DotNet剖析系列(二)——控件继承
DotNet剖析系列(二) ——控件继承 首先想要告诉大家的是MS一个龌龊的行为,一个人所共知的行为。而这个问题在所有MS提供的基本控件里都存在,比如我们想要对ComboBox这个控件稍微的扩展一下,加上一点点我们自已的东东。结果是很麻烦,很麻烦,甚至你都没办法使用继承来重载OnPaint。因为正常情况下,OnPaint在这
2006-06-13 22:40:00
2947
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
8190
1
原创 DotNet剖析系列(一)
DotNet剖析系列(一) ——窗口从生到死 如果你的第一个Windows程序是从C#开始的,并且你是使用VS.net的模板来创建程序,可能你会习惯于看到以下的代码,也许并不会想到它背后有些什么运作。[STAThread] static void Main() { Application.Run(new Form1());}
2006-05-13 22:06:00
2659
2
原创 DotNet下使用GDI+绘图时资源是否需要释放
DotNet下使用GDI+绘图时资源是否需要释放 可能很少有人注意到这样的问题,最近我在写一个绘图模块的时候,忽然意识到这好象是一个问题,因为不过我们以前用GDI绘图时,书本的代码会明确地告诉你一定要删除自已创建的绘图对象,因此我们常常写完了SelectObject,一定会马上写一个DeleteObject,以防止资源泄漏。可是,当你来到的DotNet的环境下,你随便打开一本关于绘图的
2006-05-08 00:51:00
5804
2
原创 简单而复杂的未来(一)
简单而复杂的未来(一)——.Net时代C/S、B/S、Desktop程序一统解决之道 这些天我一直在思考一个问题,C/S,B/S、Desktop应用程序有没有可能最后统一起来,用户可以不需要知道程序是什么类型,程序员可以只写一遍代码就可以在三种模式下运行。本文就是讨论这种可行性。C/S、B/S与Desktop应用程序倒底有没有本质区别呢,应该说看上去有区别,我们来看下面这张表(对W
2006-04-29 23:02:00
2066
2
原创 第一个系列完成!
真的,不相信自已能坚持下来,把这个《解读》系列写完。虽然不是什么大成就,不过写这么多文字于自已确实是第一次。这是个值得记住的日子2006-4-25
2006-04-25 20:20:00
1779
原创 《代码大全》解读(完)
《代码大全》解读(完) 每个故事都会有最的一章,本书最后三章阐述了一些编程之外的东西,但是和软件工程有很大的关系。首先第三十一章谈到了《个人性格》。如果是中国人来写这本书,题目应该叫《个人修养》,外国人总爱把心理学扯进来,到了现在可能叫“情商”更加符合所谓后现代的文化。不过不管它叫什么,讲的还是一样的东东。作者认为一个优秀的专家或是大师一定是:1) 一个谦
2006-04-25 20:17:00
6391
5
原创 《代码大全》解读(十)
《代码大全》解读(十) 软件的发布最终日期即将来临,那么代码大全的读者会关注一些什么东东呢,接下来的四章就讲的是这方面的事情,二十七章《系统集成》、二十八章《代码调整》、二十九章《代码调试技术》、三十章节《软件优化》(个人觉得第二十八章的标题有点题不对文,不如用《代码优化》,而二十九章应与三十章合并一起称《重构》更加合理)。系统集成也就是将软件的各个功能子模块集成起来进行联调。
2006-04-24 22:02:00
2207
Console环境下有用的类
2008-02-09
世界是平的(第二版) 第三部分
2008-01-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人