<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[K神丶的专栏]]></title><description><![CDATA[多年后重拾写博客的步伐]]></description><link>https://blog.youkuaiyun.com/effective_coder</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; effective_coder]]></copyright><item><title><![CDATA[一步一步写STL:多级空间配置器(上)]]></title><link>https://blog.youkuaiyun.com/effective_coder/article/details/9203923</link><guid>https://blog.youkuaiyun.com/effective_coder/article/details/9203923</guid><author>effective_coder</author><pubDate>Sat, 29 Jun 2013 19:38:21 +0800</pubDate><description><![CDATA[在前一篇空间配置器里我给出了一个标准STL空间配置器的接口，说明了4个函数的工作原理，具体在标准空间配置器，注意那只是一个标准接口，无论是HP版本还是微软的STL版本都支持那些接口，所以我们测试的时候没出任何问题！他实际上就是对全局的operator new 和 operator delete做了一个浅浅的包装，并没有什么效率和技巧上的优化，但是在SGI版本的STL里面，并没有采用那种分配方式，而]]></description><category></category></item><item><title><![CDATA[一步一步写STL:定制boost::shared_ptr]]></title><link>https://blog.youkuaiyun.com/effective_coder/article/details/9011061</link><guid>https://blog.youkuaiyun.com/effective_coder/article/details/9011061</guid><author>effective_coder</author><pubDate>Tue, 04 Jun 2013 18:12:52 +0800</pubDate><description><![CDATA[某知名大师说过：自从有了智能指针，上一次发生内存泄露还是在2004年当实习生的时候！
       由此可见智能指针威力无穷，竟让他8年没发生过内存泄露，我们上一篇给出了auto_ptr的实现方案，今天给出shared_ptr和实现版本，在新标准中auto_ptr已经不复存在了(其实存在不存在也没什么关系，你想用的话随时可以自己写一个啊)
取而代之的是引入了boost的shared_ptr智能]]></description><category></category></item><item><title><![CDATA[C++ Tr1中的正则表达式]]></title><link>https://blog.youkuaiyun.com/effective_coder/article/details/9010337</link><guid>https://blog.youkuaiyun.com/effective_coder/article/details/9010337</guid><author>effective_coder</author><pubDate>Mon, 03 Jun 2013 09:28:12 +0800</pubDate><description><![CDATA[要使用正则表达式，首先要有类库支持，C++以前不像Java或者C#有完整的类库使用，但是在Tr1中早已提供了正则库，只是很少被人们注意罢了
 
TR1中包含了一个正则库,来自Boost的 regex，已经纳入了0x新标准，但是新标准遥遥无期。即便如此，现在很多编译器也已经支持了，特别是微软，步伐最快！
虽然现在新标准还未完全支持，但是早点了解一下也是好的：
#include 
#inclu]]></description><category></category></item><item><title><![CDATA[一步一步写STL:定制stl::auto_ptr]]></title><link>https://blog.youkuaiyun.com/effective_coder/article/details/9001048</link><guid>https://blog.youkuaiyun.com/effective_coder/article/details/9001048</guid><author>effective_coder</author><pubDate>Sat, 01 Jun 2013 11:00:12 +0800</pubDate><description><![CDATA[原创文章    转载请注明出处http://blog.youkuaiyun.com/effective_coder
           
          欢迎来到内存这块雷区，在对内存分配器进一步讨论之前我觉得有必要先讨论一下STL中的auto_ptr，我也加了很多STL的讨论社区以及很多群，长久以来发现了一个很大的问题，太多的人反映出不敢用auto_ptr，原因是好多好多未定义行为，用到最后自己都]]></description><category></category></item><item><title><![CDATA[一步一步写STL:空间配置器 （1）]]></title><link>https://blog.youkuaiyun.com/effective_coder/article/details/8991980</link><guid>https://blog.youkuaiyun.com/effective_coder/article/details/8991980</guid><author>effective_coder</author><pubDate>Thu, 30 May 2013 02:01:59 +0800</pubDate><description><![CDATA[侯捷说：追踪一流程序，并从中吸取养分，模仿着他写的程序，比那些自以为靠自己努力写出来的下三流程序价值高得多，至少我这么认为——世界上99.999%的程序，在STL面前都是下三流水平！
 
侯捷老师这句话对STL的评价太高了，以前只是熟练使用STL，知道一点原理，受他的影响，最终还是决定研究STL的源码,才刚开始收获就不小，还是把这个过程记录下来，并想着借助标准库的原理，自己写一个完整的仿STL]]></description><category></category></item><item><title><![CDATA[设计模式之Builder模式 (C++实现)]]></title><link>https://blog.youkuaiyun.com/effective_coder/article/details/8917359</link><guid>https://blog.youkuaiyun.com/effective_coder/article/details/8917359</guid><author>effective_coder</author><pubDate>Sun, 12 May 2013 17:48:32 +0800</pubDate><description><![CDATA[刚开始我一直感觉建造者模式不太好懂，也许是我笨了点缘故，勤能补拙嘛，所以只能多看多想了
大话设计模式里面那个对于建造者模式我讲解，个人感觉不太好理解，我是看了很多遍也没体会到那样设计的精髓，后来在另一本设计模式上才稍微领悟到了点，
 
在这里我想到一个比较形象的例子：
比如我某天去吃兰州拉面，他们有不同的套餐，套餐里包含的种类是一样的，都有一
碗拉面，一份泡菜，一杯饮料。但是不同的套餐里]]></description><category></category></item><item><title><![CDATA[Windows Phone实用开发技巧（1）：保存图片及加载图片]]></title><link>https://blog.youkuaiyun.com/effective_coder/article/details/8913353</link><guid>https://blog.youkuaiyun.com/effective_coder/article/details/8913353</guid><author>effective_coder</author><pubDate>Sat, 11 May 2013 04:31:24 +0800</pubDate><description><![CDATA[Windows Phone实用开发技巧（1）：保存图片及加载图片
 
Windows Phone中，我们可能会有这样的需求：自定义应用程序的背景图片。
实际的流程是这样：用户选择图片，保存至隔离存储空间，（下一次启动时或者立即）加载图片使其成为背景图片。
下面以具体的一个Demo来实现这一需求：

创建Windows Phone 项目，在界面中拖放两个按钮，命名为Open和Load，一]]></description><category></category></item><item><title><![CDATA[设计模式之适配器模式(C++实现)]]></title><link>https://blog.youkuaiyun.com/effective_coder/article/details/8913297</link><guid>https://blog.youkuaiyun.com/effective_coder/article/details/8913297</guid><author>effective_coder</author><pubDate>Sat, 11 May 2013 02:11:23 +0800</pubDate><description><![CDATA[在设计模式中，适配器模式（英语：adapter pattern）有时候也称包装样式或者包装。将一个类的接口转接成用户所期待的。一个适配使得因接口不兼容而不能在一起工作的类工作在一起，做法是将类别自己的接口包裹在一个已存在的类中。
有两类适配器模式：
·对象适配器模式 - 在这种适配器模式中，适配器容纳一个它我包裹的类的实例。在这种情况下，适配器调用被包裹对象的物理实体。
·类适配器模式 -]]></description><category></category></item><item><title><![CDATA[设计模式之Proxy模式(C++实现)]]></title><link>https://blog.youkuaiyun.com/effective_coder/article/details/8913214</link><guid>https://blog.youkuaiyun.com/effective_coder/article/details/8913214</guid><author>effective_coder</author><pubDate>Sat, 11 May 2013 01:09:18 +0800</pubDate><description><![CDATA[代理模式，那么什么是代理模式勒，我们可以这样来理解，我很忙，忙的没空理你，那你要找我呢就先找我的代理人吧，那代理人总要知道
被代理人能做哪些事情不能做哪些事情吧，那就是两个人具备同一个接口，代理人虽然不能干活，但是被
代理的人能干活呀。说起来很抽象，具体看实例还是来的实在！
 
比如西门庆找潘金莲，那潘金莲不好意思答复呀，咋办，找那个王婆做代理，表现在程序上时这样的： 
先定义一种类型的]]></description><category></category></item><item><title><![CDATA[设计模式之strategy模式(C++实现)]]></title><link>https://blog.youkuaiyun.com/effective_coder/article/details/8910984</link><guid>https://blog.youkuaiyun.com/effective_coder/article/details/8910984</guid><author>effective_coder</author><pubDate>Fri, 10 May 2013 16:27:48 +0800</pubDate><description><![CDATA[策略模式是一种比较常用的设计模式，他主要体现在对象可以有某个行为，但是在不同的场景时用不同的实现方法！
在软件开发中也常常遇到类似的情况，实现某一个功能有多种算法或者策略，我们可以根据环境或者条件的不同选择不同的算法或者策略来完成该功能。如查找、排序等，一种常用的方法是硬编码(Hard Coding)在一个类中，如需要提供多种查找算法，可以将这些算法写到一个类中，在该类中提供多个方法，每一个方法]]></description><category></category></item><item><title><![CDATA[设计模式之Observer模式(C++实现)]]></title><link>https://blog.youkuaiyun.com/effective_coder/article/details/8908549</link><guid>https://blog.youkuaiyun.com/effective_coder/article/details/8908549</guid><author>effective_coder</author><pubDate>Fri, 10 May 2013 03:43:52 +0800</pubDate><description><![CDATA[观察者模式（Observer）定义了对象间一对多的联系。当一个对象的状态发生变化时，所有与它有联系的观察者对象都会得到通知。观察者模式将被观察的目标和观察者解耦，一个目标可以有任意多的观察者，观察者也可以观察任意多的目标，构成复杂的联系，而每个观察者都不知道其他观察者的存在。
 
这里我就不列出那么多正式化的UML图了，那些是书本上的事，如果要详细学设计模式，推荐Gof的大话设计模式]]></description><category></category></item><item><title><![CDATA[C#中的委托和事件]]></title><link>https://blog.youkuaiyun.com/effective_coder/article/details/8902963</link><guid>https://blog.youkuaiyun.com/effective_coder/article/details/8902963</guid><author>effective_coder</author><pubDate>Wed, 08 May 2013 22:52:36 +0800</pubDate><description><![CDATA[C# 中的委托和事件
引言

委托 和 事件在 .Net Framework中的应用非常广泛，然而，较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿，过了这个槛的人，觉得真是太容易了，而没有过去的人每次见到委托和事件就觉得心里别（biè）得慌，混身不自在。本文中，我将通过两个范例由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、.Net Framework]]></description><category></category></item><item><title><![CDATA[初识python 学习笔记系列1]]></title><link>https://blog.youkuaiyun.com/effective_coder/article/details/8901521</link><guid>https://blog.youkuaiyun.com/effective_coder/article/details/8901521</guid><author>effective_coder</author><pubDate>Wed, 08 May 2013 17:45:03 +0800</pubDate><description><![CDATA[Python 学习笔记-初识python 

1、 安装python3


我用的python版本是最新的3.3.2，在官网可以下载到！

先查看电脑上是否安装了python，在linux 和 mac Os 上会预装python2，但windows上没有，windows没有预装任何python的版本。


在windows下控制台键入：python

可以查看显示的pyth]]></description><category></category></item><item><title><![CDATA[设计模式之单例模式(C++实现)]]></title><link>https://blog.youkuaiyun.com/effective_coder/article/details/8881585</link><guid>https://blog.youkuaiyun.com/effective_coder/article/details/8881585</guid><author>effective_coder</author><pubDate>Fri, 03 May 2013 20:08:52 +0800</pubDate><description><![CDATA[注：今天不知道怎么的优快云的博客贴代码和贴图片的按钮好像有点问题，我贴不出来，只能用复制代码说明问题了


      至于单例模式，是设计模式中最为基本的模式之一，说直白点就是在程序中确保任何时候都只有一个实例，比如windows的文件管理类，还有就是在cocos2dx中的游戏导演类等等，那么如何来确保任何时候都只能有一个实例勒？这个时候我们的static就起作用了！]]></description><category></category></item><item><title><![CDATA[C++中的重载丶重写丶重定义丶重定向的区别]]></title><link>https://blog.youkuaiyun.com/effective_coder/article/details/8873848</link><guid>https://blog.youkuaiyun.com/effective_coder/article/details/8873848</guid><author>effective_coder</author><pubDate>Thu, 02 May 2013 05:43:29 +0800</pubDate><description><![CDATA[先看重载:
重载指的是函数的重载，又有成员函数和一般函数的重载，两者没什么区别，只是地方不一样而已
函数重载表示函数名相同，但是参数不同，函数重载在C语言里面是没有的，只限定在C++如下所示：
double  max(double x,double y),
int  max(int  x,int y);
这两个函数就是重载的范例，那么调用的时候编译器是如何确定调用哪一个勒？书本上一般说程]]></description><category></category></item><item><title><![CDATA[STL中的内存分配器原理]]></title><link>https://blog.youkuaiyun.com/effective_coder/article/details/8873513</link><guid>https://blog.youkuaiyun.com/effective_coder/article/details/8873513</guid><author>effective_coder</author><pubDate>Thu, 02 May 2013 00:37:14 +0800</pubDate><description><![CDATA[题记：内存管理一直是C/C++程序的红灯区。关于内存管理的话题，大致有两类侧重点，一类是内存的正确使用，例如C++中new和delete应该成对出现，用RAII技巧管理内存资源，auto_ptr等方面，很多C/C++书籍中都使用技巧的介绍。另一类是内存管理的实现，如linux内核的slab分配器，STL中的allocator实现，以及一些特定于某种对象的内存管理等。最近阅读了一些内存管理实现方面的]]></description><category></category></item><item><title><![CDATA[C语言二进制文件和文本文件的区别]]></title><link>https://blog.youkuaiyun.com/effective_coder/article/details/8870019</link><guid>https://blog.youkuaiyun.com/effective_coder/article/details/8870019</guid><author>effective_coder</author><pubDate>Tue, 30 Apr 2013 16:57:00 +0800</pubDate><description><![CDATA[一、文本文件与二进制文件的定义
    大家都知道计算机的存储在物理上是二进制的，所以文本文件与二进制文件的区别并不是物理上的，而是逻辑上的。这两者只是在编码层次上有差异。
    简单来说，文本文件是基于字符编码的文件，常见的编码有ASCII编码，UNICODE编码等等。二进制文件是基于值编码的文件，你可以根据具体应用，指定某个值是什么意思（这样一个过程，可以看作是自定义编码）。]]></description><category></category></item><item><title><![CDATA[华为牛人的成长经历,永远记得那些IT界吃咋风云的人物!]]></title><link>https://blog.youkuaiyun.com/effective_coder/article/details/8866918</link><guid>https://blog.youkuaiyun.com/effective_coder/article/details/8866918</guid><author>effective_coder</author><pubDate>Mon, 29 Apr 2013 14:31:32 +0800</pubDate><description><![CDATA[有些经典的故事,无论年华如何逝去,永远都会那么永垂不朽,再发经典,永远记得那么IT界吃咋风云的牛人!!

(注：徐是华为数据中心的头，技术超级牛人，一级部门总监，华为副总裁，年收入过千万，数据中心是用火山岩建的深入地下的一个大型建筑。防辐射，可防卫星 的电子，雷达等手段的侦察。里面有象卫星发射中心那种超大屏幕，机房里满是三米的大型服务器和大型计算机。连接整个华为全球的每一台终端，整个华为每天三]]></description><category></category></item><item><title><![CDATA[输入两个整数 n 和 m，从数列1，2，3.......n 中随意取几个数,使其和等于 m ,要求将其中所有的可能组合列出来.]]></title><link>https://blog.youkuaiyun.com/effective_coder/article/details/8826794</link><guid>https://blog.youkuaiyun.com/effective_coder/article/details/8826794</guid><author>effective_coder</author><pubDate>Sat, 20 Apr 2013 03:12:54 +0800</pubDate><description><![CDATA[这道题的思路参考0-1背包：定义函数F(n,m)来求解这个问题，那么F(n,m)可以分解为两个子问题F(n-1,m)和F(n-1,m-n).由于题目要求列出所有的组合，使用类似动态规划的方法比较复杂，我在这里直接使用递归来解决这个问题。虽然效率可能不是很好，但是代码的可读性还是比较好的
复制代码
 1 #include "stdafx.h"
 2 #include 
 3 
 4  using]]></description><category></category></item><item><title><![CDATA[二叉树的12大问题]]></title><link>https://blog.youkuaiyun.com/effective_coder/article/details/8826785</link><guid>https://blog.youkuaiyun.com/effective_coder/article/details/8826785</guid><author>effective_coder</author><pubDate>Sat, 20 Apr 2013 02:18:46 +0800</pubDate><description><![CDATA[转载自：http://blog.youkuaiyun.com/randyjiawenjie/article/details/6772145 觉得很好，收藏了


二叉树的常见问题有如下几个，如果解决好了，就跟链表一样轻松：唯一不一样的是，二叉树是非线性结构。常见的问题如下




1.二叉树三种周游（traversal）方式：  
2.怎样从顶部开始逐层打印二叉树结点数据  
3.如何判断]]></description><category></category></item></channel></rss>