<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[BlueDog专栏]]></title><description><![CDATA[所有的成功来源于坚持。]]></description><link>https://blog.youkuaiyun.com/BlueDog</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; BlueDog]]></copyright><item><title><![CDATA[一种简便定义javascript命名空间的方法]]></title><link>https://blog.youkuaiyun.com/BlueDog/article/details/7908123</link><guid>https://blog.youkuaiyun.com/BlueDog/article/details/7908123</guid><author>BlueDog</author><pubDate>Sun, 26 Aug 2012 00:29:45 +0800</pubDate><description><![CDATA[这种方法需要引用jQuery的$.extend方法，因此先需要引用jQuery,版本无所谓,你可以将这个方法写在公用模块内
源码：
 
//ns 可以是一个字符串，也可是指定的对象
//如果是第一次定义，必需是一个用.分隔的字符串，这个函数会创建对应的空间
function DEF_NAME_SPACE(ns,op){
    switch(typeof ns){
        case]]></description><category></category></item><item><title><![CDATA[最接近C# 的Event的C++处理]]></title><link>https://blog.youkuaiyun.com/BlueDog/article/details/6187021</link><guid>https://blog.youkuaiyun.com/BlueDog/article/details/6187021</guid><author>BlueDog</author><pubDate>Tue, 15 Feb 2011 23:27:00 +0800</pubDate><description><![CDATA[boost Event]]></description><category></category></item><item><title><![CDATA[C++事件机制（上篇）-- Observer模式]]></title><link>https://blog.youkuaiyun.com/BlueDog/article/details/4792215</link><guid>https://blog.youkuaiyun.com/BlueDog/article/details/4792215</guid><author>BlueDog</author><pubDate>Tue, 10 Nov 2009 01:18:00 +0800</pubDate><description><![CDATA[ C++事件机制（上篇）-- Observer模式 简介：本文通过上中下三篇文章来分析c++事件机制的各个方面，并实作出一个c++的事件库。 用过C#的朋友，一定对于C#的事件机制感觉很爽，来我们看一看一个C#的例子。class Test    {       public delegate void ClickHandle(int X,int Y);     ]]></description><category></category></item><item><title><![CDATA[让模板类支持可变模板参数]]></title><link>https://blog.youkuaiyun.com/BlueDog/article/details/4715542</link><guid>https://blog.youkuaiyun.com/BlueDog/article/details/4715542</guid><author>BlueDog</author><pubDate>Thu, 22 Oct 2009 22:55:00 +0800</pubDate><description><![CDATA[让模板类支持可变模板参数现如今才正真发现c++模板的强大，模板的强大在于不需要使用RTTI机制可以传递参数的类型信息，不过也有其遗憾的地方，就是对于引用和复制，模板并无法区分。例如templatestruct Test{typedef T Type;static void PrintTemplateTypeName(){     cout }}; 如]]></description><category></category></item><item><title><![CDATA[c++虚继承对象的内存布局]]></title><link>https://blog.youkuaiyun.com/BlueDog/article/details/4711169</link><guid>https://blog.youkuaiyun.com/BlueDog/article/details/4711169</guid><author>BlueDog</author><pubDate>Thu, 22 Oct 2009 00:23:00 +0800</pubDate><description><![CDATA[c++虚继承对象的内存布局               --VC7.1特别版网上关于c++对象布局的文章挺多，而且《深度探索c++对象模型》(Inside The C++ Object Model 侯捷 译）一书中也很详细地介绍。如果你一点都不了解C++对象的布局,我推荐你看看《深度探索c++对象模型》的第三章,如果你意犹未尽下面的两个系列都很不错：一是陈皓的《C++ 对象的内存布]]></description><category></category></item><item><title><![CDATA[c++模板元编程就是bullshit]]></title><link>https://blog.youkuaiyun.com/BlueDog/article/details/4432460</link><guid>https://blog.youkuaiyun.com/BlueDog/article/details/4432460</guid><author>BlueDog</author><pubDate>Tue, 11 Aug 2009 01:20:00 +0800</pubDate><description><![CDATA[c++模板元编程就是bullshit 学完所谓的模板元编程，我觉得c++模板元编程就是一坨屎。你可以振振有词的说它可以简化计算时间。好，你除了提供那几个所谓经典的例子外还有什么其它什么用么？说是图灵完备，连个在编译期调用个函数都处理不了，如下例templatestruct SinVal{    enum { m_inner_val = (int)(sin( (float]]></description><category></category></item><item><title><![CDATA[c++中利用模板解决条件编译的问题]]></title><link>https://blog.youkuaiyun.com/BlueDog/article/details/4415275</link><guid>https://blog.youkuaiyun.com/BlueDog/article/details/4415275</guid><author>BlueDog</author><pubDate>Thu, 06 Aug 2009 03:09:00 +0800</pubDate><description><![CDATA[c++中利用模板解决条件编译的问题问题背景：唔，我正在写一个B+树，其中它的节点查找算法需要在不同的应用场景下采用不同的算法。我可以采用顺序查找和二分法查找两种方案，如果这个节点元素比较小时，用顺序查找的方案要快一些，当节点元素比较多时，则用二分法查找。第一方案：用if来解决我们会最容易想到的是templatestruct CBinaryTreeNode{   ]]></description><category></category></item><item><title><![CDATA[#pragma pack 与 sizeof]]></title><link>https://blog.youkuaiyun.com/BlueDog/article/details/4371487</link><guid>https://blog.youkuaiyun.com/BlueDog/article/details/4371487</guid><author>BlueDog</author><pubDate>Wed, 22 Jul 2009 20:06:00 +0800</pubDate><description><![CDATA[#pragma pack 与 sizeof #pragma 是一个预处理指令，其中#pragma pack指令直接影响到一个结构体、联合体、类的内存布局。那么它是如何影响的，首先我们来看两个类#pargam pack(8)struct TEST1{   char v[9];   int x;}; struct TEST2{   char v[9];]]></description><category></category></item><item><title><![CDATA[Modern C++ Design 读书笔记一]]></title><link>https://blog.youkuaiyun.com/BlueDog/article/details/4209554</link><guid>https://blog.youkuaiyun.com/BlueDog/article/details/4209554</guid><author>BlueDog</author><pubDate>Fri, 22 May 2009 19:23:00 +0800</pubDate><description><![CDATA[一直以来都以为自已对于c++是很熟悉的，但是最近在看《Modern C++ Design》(中文名：C++设计新思维--范型编程与设计模式之应用）这本书时才发现自已对于C++实在是了解的太少了。 用法一：把模板参数当作基类首先来看一个很简单的类POINTstruct POINT{    int X;    int Y;    POINT(int x=0,int y=]]></description><category></category></item><item><title><![CDATA[B+树C++代码发布]]></title><link>https://blog.youkuaiyun.com/BlueDog/article/details/4166295</link><guid>https://blog.youkuaiyun.com/BlueDog/article/details/4166295</guid><author>BlueDog</author><pubDate>Sun, 10 May 2009 22:00:00 +0800</pubDate><description><![CDATA[B+树C++代码发布 代码：http://bluedog.download.youkuaiyun.com 没什么太多可以说的，B+树的c++模板实现，需要说明的一点是1、枝干节点的关键字在每个叶子节点的最后一个2、叶子节点中的Vals不是值集合，而是值指针集合，主要是减少移动时的拷贝时间     本来也想Keys也做也指针集合，但是会有一个问题，如果当做数据库的索引，它就必需调阅多]]></description><category></category></item><item><title><![CDATA[B-树的C++实现]]></title><link>https://blog.youkuaiyun.com/BlueDog/article/details/4149384</link><guid>https://blog.youkuaiyun.com/BlueDog/article/details/4149384</guid><author>BlueDog</author><pubDate>Mon, 04 May 2009 18:11:00 +0800</pubDate><description><![CDATA[发布一个B-树的代码 代码下载:http://bluedog.download.youkuaiyun.com B-<span style="font-family:宋体;mso-ascii-font-family:">树网上的代码很象不是很多，关于它的原理我觉得没有必要要谈了，书上网上太多了。这里我花了几天的时间写了一个，大家觉得有用的话就用吧，已经进行大量的测试，应该没有什么太大问题]]></description><category></category></item><item><title><![CDATA[C++类成员属性的一种简洁实现]]></title><link>https://blog.youkuaiyun.com/BlueDog/article/details/3516908</link><guid>https://blog.youkuaiyun.com/BlueDog/article/details/3516908</guid><author>BlueDog</author><pubDate>Sun, 14 Dec 2008 23:58:00 +0800</pubDate><description><![CDATA[                  C++类成员属性的一种简洁实现    一般来说对于标准C++而言是不存在成员属性这个概念的，以前大家都是用GetXXX/SetXXX来访问或取得数据，好象也没有感觉到任何不便。但是当我们用过C#之类的语言之后，我们总觉得C++这个方式太老土了。于是我们想去实现“属性”这个C++语言缺乏的要素。事实上网络上有很多人已经做了这部分工作，实现的方法有很多种，一种是用模]]></description><category></category></item><item><title><![CDATA[如何判断程序是否重复运行的几种方法]]></title><link>https://blog.youkuaiyun.com/BlueDog/article/details/2985440</link><guid>https://blog.youkuaiyun.com/BlueDog/article/details/2985440</guid><author>BlueDog</author><pubDate>Sat, 27 Sep 2008 00:09:00 +0800</pubDate><description><![CDATA[如何判断程序是否重复运行的几种方法 判断程序的实例是否已经启动，无非是通过设立某个标识，让下次启动程序时知道该实例已经运行。嗯，可是在WIN32中每个进程都有自已独立的空间，那么如何处理呢，下面提供两种方案：方案一，使用内核对象因为内核对象是可以跨进程存在的，因此我们可以通过创建一个命名互斥体(Mutex)内核对象来判断，当用同一个名字的来创建Mutex时，CreateMutex会]]></description><category></category></item><item><title><![CDATA[骗子不可怕，就怕骗子有文化]]></title><link>https://blog.youkuaiyun.com/BlueDog/article/details/2350466</link><guid>https://blog.youkuaiyun.com/BlueDog/article/details/2350466</guid><author>BlueDog</author><pubDate>Wed, 30 Apr 2008 20:29:00 +0800</pubDate><description><![CDATA[骗子不可怕，就怕骗子有文化 对于汉语编程我实在是不想说什么，看看代码大家就明白。下面给大家来一段强大的”汉语编程”，大家就会认识到所谓的汉语编程是什么东东了。 #include "汉语编程核心模块" 对象定义开始(测试对象)公有: 整型值;对象定义结束 主程序开始      整型变量;   测试对象测试对象变量;   字符目录串[256]]]></description><category></category></item><item><title><![CDATA[一个COM调用时出现的错误及解决办法]]></title><link>https://blog.youkuaiyun.com/BlueDog/article/details/2088634</link><guid>https://blog.youkuaiyun.com/BlueDog/article/details/2088634</guid><author>BlueDog</author><pubDate>Tue, 12 Feb 2008 03:42:00 +0800</pubDate><description><![CDATA[ 一个COM调用时出现的错误及解决办法这两天一直在用COM里的复合文档来做个东东。我通过C#的平台调用方法使用IStorage和IStream这些接口的，并写了一个流类来包装IStream。在“调试”模式下，运行得很好，但是在“Release”下，则报错了！症状为：在长时间读写一个复合文档时，开始是可以正常运行的，但是一段时间后，就会报错说“试图使用一个不存在的对象异常来自]]></description><category></category></item><item><title><![CDATA[2008年第一份源码]]></title><link>https://blog.youkuaiyun.com/BlueDog/article/details/2087225</link><guid>https://blog.youkuaiyun.com/BlueDog/article/details/2087225</guid><author>BlueDog</author><pubDate>Sat, 09 Feb 2008 16:59:00 +0800</pubDate><description><![CDATA[ 2008年第一份源码 代码下载地址：优快云 Download:http://download.youkuaiyun.com/source/351523官方地址：(下载方式见左边栏)GmailDriver:/Code/Csharp/ExpertLib/Console/ConsoleClassDemo.Rar雪停了，冰融了，太阳出来了，一切又恢复了正常。春节在家闲着也是闲着写了]]></description><category></category></item><item><title><![CDATA[Dotnet专业组件开发揭密（四）]]></title><link>https://blog.youkuaiyun.com/BlueDog/article/details/1763001</link><guid>https://blog.youkuaiyun.com/BlueDog/article/details/1763001</guid><author>BlueDog</author><pubDate>Wed, 29 Aug 2007 01:36:00 +0800</pubDate><description><![CDATA[Dotnet专业组件开发揭密（四）--TypeDescriptor内部机制及其应用（下） 前两篇文章里我们TypeDescriptor是用来返回一个类的属性或事件描述符的，VS中使用的PropertyGrid就是通过它来取得一个类的属性的。而不是我们以为的是通过反射来做的。那么它的内部机制是如何的？TypeDescriptor它会进行几个判别，一是查看类是否实现了ICustomTy]]></description><category></category></item><item><title><![CDATA[Dotnet专业组件开发揭密（三）]]></title><link>https://blog.youkuaiyun.com/BlueDog/article/details/1756803</link><guid>https://blog.youkuaiyun.com/BlueDog/article/details/1756803</guid><author>BlueDog</author><pubDate>Thu, 23 Aug 2007 23:56:00 +0800</pubDate><description><![CDATA[Dotnet专业组件开发揭密（三）--TypeDescriptor内部机制及其应用（中） 本文代码下载官方地地://Code/Csharp/BlogCode/TypeDescriptionProviderDemo.rar优快云地址：http://download.youkuaiyun.com/user/BlueDog     上一篇我们讲到了如何利用ICustomTypeDesc]]></description><category></category></item><item><title><![CDATA[Dotnet专业组件开发揭密（二）]]></title><link>https://blog.youkuaiyun.com/BlueDog/article/details/1753634</link><guid>https://blog.youkuaiyun.com/BlueDog/article/details/1753634</guid><author>BlueDog</author><pubDate>Wed, 22 Aug 2007 01:28:00 +0800</pubDate><description><![CDATA[Dotnet专业组件开发揭密（二）--TypeDescriptor内部机制及其应用（上） 本文代码下载官方地址://Code/Csharp/BlogCode/TypeDescriptorDemo.rar优快云地址：http://download.youkuaiyun.com/user/BlueDog 本篇要讲述的是System.ComponentModel空间里最神奇的类，也是最]]></description><category></category></item><item><title><![CDATA[Dotnet专业组件开发揭密（一）]]></title><link>https://blog.youkuaiyun.com/BlueDog/article/details/1750868</link><guid>https://blog.youkuaiyun.com/BlueDog/article/details/1750868</guid><author>BlueDog</author><pubDate>Sun, 19 Aug 2007 23:18:00 +0800</pubDate><description><![CDATA[Dotnet专业组件开发揭密（一） --扩展功能提供程序本文代码下载官方地址://Code/Csharp/BlogCode/ExtenderProvider.rar优快云地址:http://download.youkuaiyun.com/source/231264 很多人会以为写组件是件容易的事，也许某些方面是这样的，比如你可以很简单地实现一个自定义的功能。但是写出来的组件好象跟]]></description><category></category></item></channel></rss>