自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

K神丶的专栏

多年后重拾写博客的步伐

  • 博客(54)
  • 资源 (15)
  • 收藏
  • 关注

原创 一步一步写STL:多级空间配置器(上)

在前一篇空间配置器里我给出了一个标准STL空间配置器的接口,说明了4个函数的工作原理,具体在标准空间配置器,注意那只是一个标准接口,无论是HP版本还是微软的STL版本都支持那些接口,所以我们测试的时候没出任何问题!他实际上就是对全局的operator new 和 operator delete做了一个浅浅的包装,并没有什么效率和技巧上的优化,但是在SGI版本的STL里面,并没有采用那种分配方式,而

2013-06-29 19:38:21 1784 2

原创 一步一步写STL:定制boost::shared_ptr

某知名大师说过:自从有了智能指针,上一次发生内存泄露还是在2004年当实习生的时候!       由此可见智能指针威力无穷,竟让他8年没发生过内存泄露,我们上一篇给出了auto_ptr的实现方案,今天给出shared_ptr和实现版本,在新标准中auto_ptr已经不复存在了(其实存在不存在也没什么关系,你想用的话随时可以自己写一个啊)取而代之的是引入了boost的shared_ptr智能

2013-06-04 18:12:52 2380 1

原创 C++ Tr1中的正则表达式

要使用正则表达式,首先要有类库支持,C++以前不像Java或者C#有完整的类库使用,但是在Tr1中早已提供了正则库,只是很少被人们注意罢了 TR1中包含了一个正则库,来自Boost的 regex,已经纳入了0x新标准,但是新标准遥遥无期。即便如此,现在很多编译器也已经支持了,特别是微软,步伐最快!虽然现在新标准还未完全支持,但是早点了解一下也是好的:#include #inclu

2013-06-03 09:28:12 8478 4

原创 一步一步写STL:定制stl::auto_ptr

原创文章    转载请注明出处http://blog.csdn.net/effective_coder                     欢迎来到内存这块雷区,在对内存分配器进一步讨论之前我觉得有必要先讨论一下STL中的auto_ptr,我也加了很多STL的讨论社区以及很多群,长久以来发现了一个很大的问题,太多的人反映出不敢用auto_ptr,原因是好多好多未定义行为,用到最后自己都

2013-06-01 11:00:12 2055

原创 一步一步写STL:空间配置器 (1)

侯捷说:追踪一流程序,并从中吸取养分,模仿着他写的程序,比那些自以为靠自己努力写出来的下三流程序价值高得多,至少我这么认为——世界上99.999%的程序,在STL面前都是下三流水平! 侯捷老师这句话对STL的评价太高了,以前只是熟练使用STL,知道一点原理,受他的影响,最终还是决定研究STL的源码,才刚开始收获就不小,还是把这个过程记录下来,并想着借助标准库的原理,自己写一个完整的仿STL

2013-05-30 02:01:59 6840 7

原创 设计模式之Builder模式 (C++实现)

刚开始我一直感觉建造者模式不太好懂,也许是我笨了点缘故,勤能补拙嘛,所以只能多看多想了大话设计模式里面那个对于建造者模式我讲解,个人感觉不太好理解,我是看了很多遍也没体会到那样设计的精髓,后来在另一本设计模式上才稍微领悟到了点, 在这里我想到一个比较形象的例子:比如我某天去吃兰州拉面,他们有不同的套餐,套餐里包含的种类是一样的,都有一碗拉面,一份泡菜,一杯饮料。但是不同的套餐里

2013-05-12 17:48:32 3974 1

原创 Windows Phone实用开发技巧(1):保存图片及加载图片

Windows Phone实用开发技巧(1):保存图片及加载图片 Windows Phone中,我们可能会有这样的需求:自定义应用程序的背景图片。实际的流程是这样:用户选择图片,保存至隔离存储空间,(下一次启动时或者立即)加载图片使其成为背景图片。下面以具体的一个Demo来实现这一需求:创建Windows Phone 项目,在界面中拖放两个按钮,命名为Open和Load,一

2013-05-11 04:31:24 1772 1

原创 设计模式之适配器模式(C++实现)

在设计模式中,适配器模式(英语:adapter pattern)有时候也称包装样式或者包装。将一个类的接口转接成用户所期待的。一个适配使得因接口不兼容而不能在一起工作的类工作在一起,做法是将类别自己的接口包裹在一个已存在的类中。有两类适配器模式:·对象适配器模式 - 在这种适配器模式中,适配器容纳一个它我包裹的类的实例。在这种情况下,适配器调用被包裹对象的物理实体。·类适配器模式 -

2013-05-11 02:11:23 1568

原创 设计模式之Proxy模式(C++实现)

代理模式,那么什么是代理模式勒,我们可以这样来理解,我很忙,忙的没空理你,那你要找我呢就先找我的代理人吧,那代理人总要知道被代理人能做哪些事情不能做哪些事情吧,那就是两个人具备同一个接口,代理人虽然不能干活,但是被代理的人能干活呀。说起来很抽象,具体看实例还是来的实在! 比如西门庆找潘金莲,那潘金莲不好意思答复呀,咋办,找那个王婆做代理,表现在程序上时这样的: 先定义一种类型的

2013-05-11 01:09:18 1645 1

原创 设计模式之strategy模式(C++实现)

策略模式是一种比较常用的设计模式,他主要体现在对象可以有某个行为,但是在不同的场景时用不同的实现方法!在软件开发中也常常遇到类似的情况,实现某一个功能有多种算法或者策略,我们可以根据环境或者条件的不同选择不同的算法或者策略来完成该功能。如查找、排序等,一种常用的方法是硬编码(Hard Coding)在一个类中,如需要提供多种查找算法,可以将这些算法写到一个类中,在该类中提供多个方法,每一个方法

2013-05-10 16:27:48 1107

原创 设计模式之Observer模式(C++实现)

观察者模式(Observer)定义了对象间一对多的联系。当一个对象的状态发生变化时,所有与它有联系的观察者对象都会得到通知。观察者模式将被观察的目标和观察者解耦,一个目标可以有任意多的观察者,观察者也可以观察任意多的目标,构成复杂的联系,而每个观察者都不知道其他观察者的存在。 这里我就不列出那么多正式化的UML图了,那些是书本上的事,如果要详细学设计模式,推荐Gof的大话设计模式

2013-05-10 03:43:52 1714 2

转载 C#中的委托和事件

C# 中的委托和事件引言委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别(biè)得慌,混身不自在。本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、.Net Framework

2013-05-08 22:52:36 709

原创 初识python 学习笔记系列1

Python 学习笔记-初识python 1、 安装python3我用的python版本是最新的3.3.2,在官网可以下载到!先查看电脑上是否安装了python,在linux 和 mac Os 上会预装python2,但windows上没有,windows没有预装任何python的版本。在windows下控制台键入:python可以查看显示的pyth

2013-05-08 17:45:03 1222

原创 设计模式之单例模式(C++实现)

注:今天不知道怎么的CSDN的博客贴代码和贴图片的按钮好像有点问题,我贴不出来,只能用复制代码说明问题了      至于单例模式,是设计模式中最为基本的模式之一,说直白点就是在程序中确保任何时候都只有一个实例,比如windows的文件管理类,还有就是在cocos2dx中的游戏导演类等等,那么如何来确保任何时候都只能有一个实例勒?这个时候我们的static就起作用了!

2013-05-03 20:08:52 1687

原创 C++中的重载丶重写丶重定义丶重定向的区别

先看重载:重载指的是函数的重载,又有成员函数和一般函数的重载,两者没什么区别,只是地方不一样而已函数重载表示函数名相同,但是参数不同,函数重载在C语言里面是没有的,只限定在C++如下所示:double  max(double x,double y),int  max(int  x,int y);这两个函数就是重载的范例,那么调用的时候编译器是如何确定调用哪一个勒?书本上一般说程

2013-05-02 05:43:29 2120

翻译 STL中的内存分配器原理

题记:内存管理一直是C/C++程序的红灯区。关于内存管理的话题,大致有两类侧重点,一类是内存的正确使用,例如C++中new和delete应该成对出现,用RAII技巧管理内存资源,auto_ptr等方面,很多C/C++书籍中都使用技巧的介绍。另一类是内存管理的实现,如linux内核的slab分配器,STL中的allocator实现,以及一些特定于某种对象的内存管理等。最近阅读了一些内存管理实现方面的

2013-05-02 00:37:14 7570 3

原创 C语言二进制文件和文本文件的区别

一、文本文件与二进制文件的定义    大家都知道计算机的存储在物理上是二进制的,所以文本文件与二进制文件的区别并不是物理上的,而是逻辑上的。这两者只是在编码层次上有差异。    简单来说,文本文件是基于字符编码的文件,常见的编码有ASCII编码,UNICODE编码等等。二进制文件是基于值编码的文件,你可以根据具体应用,指定某个值是什么意思(这样一个过程,可以看作是自定义编码)。

2013-04-30 16:57:00 2145

原创 华为牛人的成长经历,永远记得那些IT界吃咋风云的人物!

有些经典的故事,无论年华如何逝去,永远都会那么永垂不朽,再发经典,永远记得那么IT界吃咋风云的牛人!!(注:徐是华为数据中心的头,技术超级牛人,一级部门总监,华为副总裁,年收入过千万,数据中心是用火山岩建的深入地下的一个大型建筑。防辐射,可防卫星 的电子,雷达等手段的侦察。里面有象卫星发射中心那种超大屏幕,机房里满是三米的大型服务器和大型计算机。连接整个华为全球的每一台终端,整个华为每天三

2013-04-29 14:31:32 4148

转载 输入两个整数 n 和 m,从数列1,2,3.......n 中随意取几个数,使其和等于 m ,要求将其中所有的可能组合列出来.

这道题的思路参考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

2013-04-20 03:12:54 1777

原创 二叉树的12大问题

转载自:http://blog.csdn.net/randyjiawenjie/article/details/6772145 觉得很好,收藏了二叉树的常见问题有如下几个,如果解决好了,就跟链表一样轻松:唯一不一样的是,二叉树是非线性结构。常见的问题如下1.二叉树三种周游(traversal)方式:  2.怎样从顶部开始逐层打印二叉树结点数据  3.如何判断

2013-04-20 02:18:46 1603

原创 哈夫曼树

理论文字来源于网络给定n个权值作为n个叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman tree)。1、路径和路径长度在一棵树中,从一个结点往下可以达到的孩子或子孙结点之间的通路,称为路径。通路中分支的数目称为路径长度。若规定根结点的层数为1,则从根结点到第L层结点的路径长度为L-1。2、结点的

2013-04-20 01:59:20 2221 1

原创 蓝桥杯试题

蓝桥杯初赛题目答案持续更新中,先把题贴上来,题目来源于网络!第一题:微生物增殖假设有两种微生物 X 和 Y    X出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次(数目加倍)。    一个新出生的X,半分钟之后吃掉1个Y,并且,从此开始,每隔1分钟吃1个Y。    现在已知有新出生的 X=10, Y=89,求60分钟后Y的数目。

2013-04-18 21:34:58 1891

原创 各种螺旋矩阵

螺旋矩阵无聊,不知道干点什么,今天就写个关于螺旋矩阵的问题吧,开始的三个螺旋矩阵采用的是同一种方法,后面会有新方法!由外向内的螺旋矩阵先来看看普通的螺旋矩阵,由外面向里面螺旋的 如下:1    2   3    4   516 17 18  19   615 24 25  20   714 23 22  21   813 12 11  10   9这样的N阶

2013-04-17 18:33:04 5332

原创 华为2013年电子科大校招上机题

源代码有时间写了再贴上:1 字串转换问题描述:将输入的字符串(字符串仅包含小写字母‘a’到‘z’),按照如下规则,循环转换后输出:a->b,b->c,…,y->z,z->a;若输入的字符串连续出现两个字母相同时,后一个字母需要连续转换2次。例如:aa 转换为 bc,zz 转换为 ab;当连续相同字母超过两个时,第三个出现的字母按第一次出现算。要求实现函数:void conver

2013-04-09 17:07:57 2406 1

原创 华为第四届编程大赛题目

1),现有一串字符串,请找出其中的大写字母并顺序保存至output数组中。【注:字母可能包含大写、小写字母、数字以及控制字符】要求实现函数my_string(char input[],char output[])例子:input:3dfD93dafkIFIkdLDkjLKDoutput:DIFILDLKD(2),现有一串字符串,请对字符串中的数字字符按照升序排序,其

2013-04-09 17:02:17 1926

原创 华为2012年两上机题

题目描述(60分):通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。比如字符串“abacacde”过滤结果为“abcde”。 要求实现函数:void stringFilter(const char *pInputStr,long lInputLen, char *pOutput

2013-04-09 01:46:28 2834 6

原创 回文字符串

关于回文字符串,网上好的算法太多了,其中有个M什么的算法比较好,复杂度比较低,自己贴一个垃圾算法,只是用我们的一般思想解决的,勉强可以看吧回文串:就是从左到右或者从右到左都是一样的  比如 abcdcba,或者abccba 这就涉及到奇数偶数的问题了在我的程序中,我借助了一个#字符,分开所有的字符如 abcgdh 变成a#b#c#g#d#h 只在中间加入,这样就解决了奇数偶数的问题了程

2013-04-08 22:11:10 1051

原创 XNA学习笔记3:创建自定义精灵类

创建自定义精灵类            前面我们已经能创建精灵和动画,并且对精灵执行输入控制(鼠标和键盘),但是也许我们纵观上一节那个程序,发现变量种类繁多不利于管理,各种控制语句都在update方法里面,如果有几十个精灵,那这个程序岂不是臃肿不堪,所以我们就需要自定义精灵类,让各种精灵有序的工作,分门别类的进行管理,在XNA中还有一些游戏组件,这些组件更加方便了我们的管理,游戏组件将在下一节

2013-04-08 21:46:47 1456

原创 TCP/IP详解学习笔记(13)-TCP坚持定时器,TCP保活定时器

TCP/IP详解学习笔记(13)-TCP坚持定时器,TCP保活定时器TCP一共有四个主要的定时器,前面已经讲到了一个--超时定时器--是TCP里面最复杂的一个,另外的三个是:1.         坚持定时器2.         保活定时器3.         2MSL定时器其中坚持定时器用于防止通告窗口为0以后双方互相等待死锁的情况;而保活定时器则用于处

2013-04-07 18:52:09 997

原创 TCP/IP详解学习笔记(12)-TCP的超时与重传

TCP/IP详解学习笔记(12)-TCP的超时与重传超时重传是TCP协议保证数据可靠性的另一个重要机制,其原理是在发送某一个数据以后就开启一个计时器,在一定时间内如果没有得到发送的数据报的ACK报文,那么就重新发送数据,直到发送成功为止。1.超时超时时间的计算是超时的核心部分,TCP要求这个算法能大致估计出当前的网络状况,虽然这确实很困难。要求精确的原因有两个:(1)定

2013-04-07 18:50:23 1057

原创 TCP/IP详解学习笔记(11)-TCP交互数据流,成块数据流

TCP/IP详解学习笔记(11)-TCP交互数据流,成块数据流目前建立在TCP协议上的网络协议特别多,有telnet,ssh,有ftp,有http等等。这些协议又可以根据数据吞吐量来大致分成两大类:(1)交互数据类型,例如telnet,ssh,这种类型的协议在大多数情况下只是做小流量的数据交换,比如说按一下键盘,回显一些文字等等。(2)数据成块类型,例如ftp,这种类型的协议要求TCP能尽

2013-04-07 18:48:37 981

原创 TCP/IP详解学习笔记(10)-TCP连接的建立与中止

TCP/IP详解学习笔记(10)-TCP连接的建立与中止CP是一个面向连接的协议,所以在连接双方发送数据之前,都需要首先建立一条连接。这和前面讲到的协议完全不同。前面讲的所有协议都只是发送数据而已,大多数都不关心发送的数据是不是送到,UDP尤其明显,从编程的角度来说,UDP编程也要简单的多----UDP都不用考虑数据分片。书中用telnet登陆退出来解释TCP协议连接的建立和中

2013-04-07 18:46:57 1023

原创 TCP/IP详解学习笔记(8)-DNS域名系统

TCP/IP详解学习笔记(8)-DNS域名系统 前面已经提到了访问一台机器要靠IP地址和MAC地址,其中,MAC地址可以通过ARP协议得到,所以这对用户是透明的,但是IP地址就不行,无论如何用户都需要用一个指定的IP来访问一台计算机,而IP地址又非常不好记,于是就出现了DNS系统1.DNS系统介绍DNS的全称是Domain Name System。它负责把FQDN(就是以"."分隔

2013-04-07 18:45:26 982

原创 TCP/IP详解学习笔记(9)-TCP协议概述

TCP/IP详解学习笔记(9)-TCP协议概述终于看到了TCP协议,这是TCP/IP详解里面最重要也是最精彩的部分,要花大力气来读。前面的TFTP和BOOTP都是一些简单的协议,就不写笔记了,写起来也没啥东西。TCP和UDP处在同一层---运输层,但是TCP和UDP最不同的地方是,TCP提供了一种可靠的数据传输服务,TCP是面向连接的,也就是说,利用TCP通信的两台主机首先要经历一个“

2013-04-07 18:44:23 1050

原创 TCP/IP详解学习笔记(7)-广播和多播,IGMP协议

TCP/IP详解学习笔记(7)-广播和多播,IGMP协议1.单播,多播,广播的介绍1.1.单播(unicast)单播是说,对特定的主机进行数据传送。例如给某一个主机发送IP数据包。这时候,数据链路层给出的数据头里面是非常具体的目的地址,对于以太网来 说,就是网卡的MAC地址(不是FF-FF-FF-FF-FF-FF这样的地址)。现在的具有路由功能的主机应该可以将单播数据定向转发,而目

2013-04-07 18:40:34 1072

原创 TCP/IP详解学习笔记(6)-UDP协议

TCP/IP详解学习笔记(6)-UDP协议1.UDP简要介绍UDP是传输层协议,和TCP协议处于一个分层中,但是与TCP协议不同,UDP协议并不提供超时重传,出错重传等功能,也就是说其是不可靠的协议。2.UDP协议头2.1.UDP端口号由于很多软件需要用到UDP协议,所以UDP协议必须通过某个标志用以区分不同的程序所需要的数据包。端口号的功能就在于此,例

2013-04-07 18:35:37 1015

原创 TCP/IP详解学习笔记(5)-IP选路,动态选路,和一些细节

TCP/IP详解学习笔记(5)-IP选路,动态选路,和一些细节1.静态IP选路1.1.一个简单的路由表选路是IP层最重要的一个功能之一。前面的部分已经简单的讲过路由器是通过何种规则来根据IP数据包的IP地址来选择路由。这里就不重复了。首先来看看一个简单的系统路由表。整的地址,既有网络号又有主机号,那么再匹配的时候就既要匹配网络号,又要匹配主机号;反之,D

2013-04-07 18:32:30 1427

原创 TCP/IP详解学习笔记(4)-ICMP协议,ping和Traceroute

TCP/IP详解学习笔记(4)-ICMP协议,ping和Traceroute1.IMCP协议介绍前面讲到了,IP协议并不是一个可靠的协议,它不保证数据被送达,那么,自然的,保证数据送达的工作应该由其他的模块来完成。其中一个重要的模块就是ICMP(网络控制报文)协议。当传送IP数据包发生错误--比如主机不可达,路由不可达等等,ICMP协议将会把错误信息封包,然后传送回给主

2013-04-07 18:21:16 2279

原创 TCP/IP详解之IP协议ARP协议和RARP协议

TCP/IP详解之IP协议ARP协议和RARP协议把这三个协议放到一起学习是因为这三个协议处于同一层,ARP协议用来找到目标主机的Ethernet网卡Mac地址,IP则承载要发送的消息。数据链路层可以从ARP得到数据的传送信息,而从IP得到要传输的数据信息。  1.IP协议  IP协议是TCP/IP协议的核心,所有的TCP,UDP,IMCP,IGCP的数据都以IP数据格

2013-04-07 18:14:36 2195

原创 TCP/IP详解学习笔记(2)-数据链路层

TCP/IP详解学习笔记(2)-数据链路层      数据链路层有三个目的:·            为IP模块发送和 接收IP数据报。·            为ARP模块发送ARP请求和接收ARP应答。·            为RARP发送RARP请 求和接收RARP应答ip大家都听说过。至于ARP和RARP,ARP叫做地址解析协议,是用IP地

2013-04-07 18:12:06 1349

UNIX环境编程 pdf

unix环境编程 ,初学unix编程的必备入门书,就不需要多说了

2013-10-02

STL源码剖析 高清版pdf

侯捷的高清版本STL pdf版电子书, 不高清你骂我

2013-10-02

unix命令大全 chm

unix命令大全,可供参考

2013-10-02

cocos2dx参考文档 chm格式

cocos2dx参考文档,最新最全的,人手必备的参考资料

2013-04-29

cocos2dx参考文档,chm

自制的cocos2dx参考文档 chm格式,查看方便,资源来源于cocos2dx官方中文网,在线的不方便查看而且格式不好,该文档对于使用cocos2dx的开发人员有很大的帮助,版本为2.0以上,2.0之下的有些函数变了,以上的版本都可以用

2013-04-26

各大IT公司经典面试题

里面有各大IT名企历年来的面试题集合,都是很经典的题目

2013-04-07

华为公司编程规范

华为公司编程规范,详细说明了编码规则,很有意义

2013-04-07

windows phone实用开发技巧

很多前辈对于windowsphone开发实用技巧的整理,对于windows phone开发的方方面面做了很好的解释,很有参考价值

2013-04-07

MFC控件使用大全

MFC各种控件的使用说明,对于MFC开发有很好的参考价值

2013-04-07

Effective STL

chm格式的C++ STL中文书籍,对于学习STL的进阶有很好的价值

2013-04-07

VC助手.10.6.1337

VC助手.10.6.1337 最新版,VC必备

2012-08-11

android API chm

android api chm格式的方便阅读,开发人员必备

2012-08-11

window API中文

window API参考大全,中文吧,对于学习和开发window很有参考价值

2012-08-11

标准C和C++库函数参考(中文)

标准C和C++库函数参考 学习C++过程中必备的参考资料

2012-08-10

MFC类库详解(中文)

MFC类库详解最新版 VC人员必备,对于那些英文不好的朋友很有参考价值

2012-08-10

空空如也

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

TA关注的人

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