<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/xiaohobby</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; xiaohobby]]></copyright><item><title><![CDATA[虚拟继承、虚函数学习总结]]></title><link>https://blog.youkuaiyun.com/xiaohobby/article/details/6844115</link><guid>https://blog.youkuaiyun.com/xiaohobby/article/details/6844115</guid><author>xiaohobby</author><pubDate>Tue, 04 Oct 2011 17:00:40 +0800</pubDate><description><![CDATA[虚拟继承、虚函数学习总结
一、虚函数。
其实是比较简单的，它的存在就是为了给子类继承，并且提供多个接口，所谓多个接口，就是多态性，它的主要特点就是父类的指针可以指向子类的对象，这样的话，在继承上会有好处。例如，某个父类有多个子类，在不知道会调用哪一个子类对象的情况下，可以定义]]></description><category></category></item><item><title><![CDATA[虚拟继承入门]]></title><link>https://blog.youkuaiyun.com/xiaohobby/article/details/6844105</link><guid>https://blog.youkuaiyun.com/xiaohobby/article/details/6844105</guid><author>xiaohobby</author><pubDate>Tue, 04 Oct 2011 16:54:38 +0800</pubDate><description><![CDATA[为什么要引入虚拟继承？
虚拟继承在一般的应用中很少用到，所以也往往被忽视，这也主要是因为在C++中，多重继承是不推荐的，也并不常用，而一旦离开了多重继承，虚拟继承就完全失去了存在的必要（因为这样只会降低效率和占用更多的空间，关于这一点，我自己还没有太多深刻的理解，有兴趣的可以看]]></description><category></category></item><item><title><![CDATA[程序员能力矩阵 你属于哪一层？]]></title><link>https://blog.youkuaiyun.com/xiaohobby/article/details/6825190</link><guid>https://blog.youkuaiyun.com/xiaohobby/article/details/6825190</guid><author>xiaohobby</author><pubDate>Tue, 27 Sep 2011 10:35:55 +0800</pubDate><description><![CDATA[程序员能力矩阵 你属于哪一层？
英文版：http://www.indiangeek.net/wp-content/uploads/Programmer%20competency%20matrix.htm
中文版：http://static.icybear.net/%5BCN%]]></description><category></category></item><item><title><![CDATA[飞鸽传书的原理和一些资料]]></title><link>https://blog.youkuaiyun.com/xiaohobby/article/details/6792893</link><guid>https://blog.youkuaiyun.com/xiaohobby/article/details/6792893</guid><author>xiaohobby</author><pubDate>Tue, 20 Sep 2011 10:51:55 +0800</pubDate><description><![CDATA[飞鸽传书（IP Messenger）是一个小巧方便的即时通信软件，它适合用于局域网内甚至广域网间进行实时通信和文档共享。特别是在局域网内传送文件/文件夹的速度非常快！
原理：（1）最关键的是局域网用户列表的建立；飞鸽启动时使用UDP协议向255.255.255.255这个广播地]]></description><category></category></item><item><title><![CDATA[弗洛伊德（Floyd）算法]]></title><link>https://blog.youkuaiyun.com/xiaohobby/article/details/6791272</link><guid>https://blog.youkuaiyun.com/xiaohobby/article/details/6791272</guid><author>xiaohobby</author><pubDate>Mon, 19 Sep 2011 19:45:17 +0800</pubDate><description><![CDATA[弗洛伊德（Floyd）算法过程：
１、用D[v][w]记录每一对顶点的最短距离。
２、依次扫描每一个点，并以其为基点再遍历所有每一对顶点D[][]的值，看看是否可用过该基点让这对顶点间的距离更小。
算法理解：
最短距离有三种情况：
１、两点的直达距离最短。（如下图）]]></description><category></category></item><item><title><![CDATA[深入理解堆栈、堆在内存中的实现]]></title><link>https://blog.youkuaiyun.com/xiaohobby/article/details/6785784</link><guid>https://blog.youkuaiyun.com/xiaohobby/article/details/6785784</guid><author>xiaohobby</author><pubDate>Sat, 17 Sep 2011 20:48:04 +0800</pubDate><description><![CDATA[尽管在.NET framework下我们并不需要担心内存管理和垃圾回收(GarbageCollection)，但是我们还是应该了解它们，以优化我们的应用程序。同时，还需要具备一些基础的内存管理工作机制的知识，这样能够有助于解释我们日常程序编写中的变量的行为。在本文中我将讲解栈和堆]]></description><category></category></item><item><title><![CDATA[const在函数前与函数后的区别]]></title><link>https://blog.youkuaiyun.com/xiaohobby/article/details/6785630</link><guid>https://blog.youkuaiyun.com/xiaohobby/article/details/6785630</guid><author>xiaohobby</author><pubDate>Sat, 17 Sep 2011 19:23:11 +0800</pubDate><description><![CDATA[一   const基础   
    
如果const关键字不涉及到指针，我们很好理解，下面是涉及到指针的情况：   
    
int   b   =   500;   
const   int*   a   =   &b;              [1]]]></description><category></category></item><item><title><![CDATA[TCP三次握手四次挥手理论加实例详解]]></title><link>https://blog.youkuaiyun.com/xiaohobby/article/details/6778517</link><guid>https://blog.youkuaiyun.com/xiaohobby/article/details/6778517</guid><author>xiaohobby</author><pubDate>Thu, 15 Sep 2011 15:38:03 +0800</pubDate><description><![CDATA[TCP(Transmission Control Protocol) 传输控制协议

TCP 是主机对主机层的传输控制协议， 提供可靠的连接服务， 采用三次握手确认建立一个连接:
在socket编程中，客户端执行connect()时。将触发三次握手。

位码即 tcp]]></description><category></category></item><item><title><![CDATA[_cdecl和_stdcall的区别]]></title><link>https://blog.youkuaiyun.com/xiaohobby/article/details/6755598</link><guid>https://blog.youkuaiyun.com/xiaohobby/article/details/6755598</guid><author>xiaohobby</author><pubDate>Wed, 07 Sep 2011 09:40:23 +0800</pubDate><description><![CDATA[1、_cdecl和_stdcall的区别：
     1） _cdecl调用按照从右往左的顺序将参数入站，由调用者把参数弹出栈
            _stdcall调用按照从右往左的顺序将参数入站 ，由被调用者把参数弹出栈
     2）_stdcall 和_cdecl]]></description><category></category></item><item><title><![CDATA[平衡二叉树的生成过程]]></title><link>https://blog.youkuaiyun.com/xiaohobby/article/details/6749612</link><guid>https://blog.youkuaiyun.com/xiaohobby/article/details/6749612</guid><author>xiaohobby</author><pubDate>Mon, 05 Sep 2011 14:33:45 +0800</pubDate><description><![CDATA[平衡二叉树是在构造二叉排序树的过程中，每当插入一个新结点时，首先检查是否因插入新结点而破坏了二叉排序树的平衡性，若是，则找出其中的最小不平衡子树，在保持二叉排序树特性的前提下，调整最小不平衡子树中各结点之间的链接关系，进行相应的旋转，使之成为新的平衡子树。具体步骤如下：
　　⑴]]></description><category></category></item><item><title><![CDATA[C/C++程序的编译过程]]></title><link>https://blog.youkuaiyun.com/xiaohobby/article/details/6747019</link><guid>https://blog.youkuaiyun.com/xiaohobby/article/details/6747019</guid><author>xiaohobby</author><pubDate>Sun, 04 Sep 2011 14:00:34 +0800</pubDate><description><![CDATA[编译，编译程序读取源程序（字符流），对之进行词法和语法的分析，将高级语言指令转换为功能等效的汇编代码，再由汇编程序转换为机器语言，并且按照操作系统对可执行文件格式的要求链接生成可执行程序。

C源程序头文件－－>预编译处理(cpp)－－>编译程序本身－－>优化程序－－>汇编程]]></description><category></category></item><item><title><![CDATA[复制构造函数(copy constructor)]]></title><link>https://blog.youkuaiyun.com/xiaohobby/article/details/6722777</link><guid>https://blog.youkuaiyun.com/xiaohobby/article/details/6722777</guid><author>xiaohobby</author><pubDate>Fri, 26 Aug 2011 17:01:53 +0800</pubDate><description><![CDATA[也许很多C++的初学者都知道什么是构造函数，但是对复制构造函数（copy constructor）却还很陌生。对于我来说，在写代码的时候能用得上复制构造函数的机会并不多，不过这并不说明复制构造函数没什么用，其实复制构造函数能解决一些我们常常会忽略的问题。
为了说明复制构造函数的]]></description><category></category></item><item><title><![CDATA[c++空类问题]]></title><link>https://blog.youkuaiyun.com/xiaohobby/article/details/6709276</link><guid>https://blog.youkuaiyun.com/xiaohobby/article/details/6709276</guid><author>xiaohobby</author><pubDate>Mon, 22 Aug 2011 19:56:19 +0800</pubDate><description><![CDATA[初学者在学习面向对象的程序设计语言时，或多或少的都些疑问，我们写的代码与最终生编译成的代码却　大相径庭，我们并不知道编译器在后台做了什么工作．这些都是由于我们仅停留在语言层的原因，所谓语言层就是教会我们一些基本的语法法则，但不会告诉我们为什么这么做？今天和大家谈的一点感悟就是我在]]></description><category></category></item><item><title><![CDATA[指针、动态内存、字符数组与字符指针]]></title><link>https://blog.youkuaiyun.com/xiaohobby/article/details/6702938</link><guid>https://blog.youkuaiyun.com/xiaohobby/article/details/6702938</guid><author>xiaohobby</author><pubDate>Fri, 19 Aug 2011 19:19:39 +0800</pubDate><description><![CDATA[1、如果函数的参数是一个指针，不要用该指针去申请动态内存


#include iostream>
using namespace std;
void GetMemory(char *p,int num)
{
    p=(char *)malloc(sizeof(]]></description><category></category></item><item><title><![CDATA[求c++类的大小]]></title><link>https://blog.youkuaiyun.com/xiaohobby/article/details/6641166</link><guid>https://blog.youkuaiyun.com/xiaohobby/article/details/6641166</guid><author>xiaohobby</author><pubDate>Fri, 29 Jul 2011 10:32:08 +0800</pubDate><description><![CDATA[初学者在学习面向对象的程序设计语言时，或多或少的都些疑问，我们写的代码与最终生编译成的代码却　大相径庭，我们并不知道编译器在后台做了什么工作。这些都是由于我们仅停留在语言层的原因，所谓语言层就是教会我们一些基本的语法法则，但不会告诉我们为什么这么做？今天和大家谈的一点感悟就是我在]]></description><category></category></item><item><title><![CDATA[详解extern "C"]]></title><link>https://blog.youkuaiyun.com/xiaohobby/article/details/6636866</link><guid>https://blog.youkuaiyun.com/xiaohobby/article/details/6636866</guid><author>xiaohobby</author><pubDate>Wed, 27 Jul 2011 10:11:58 +0800</pubDate><description><![CDATA[详解extern "C"
http://tech.163.com【源】　　

时常在cpp的代码之中看到这样的代码: 

#ifdef __cplusplus 
extern "C" { 
#endif 

//一段代码 

#ifdef __cpluspl]]></description><category></category></item></channel></rss>