<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[sead+]]></title><description><![CDATA[狂奔的蜗牛。]]></description><link>https://blog.youkuaiyun.com/seadplus</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; seadplus]]></copyright><item><title><![CDATA[浮点数的比较]]></title><link>https://blog.youkuaiyun.com/seadplus/article/details/9707299</link><guid>https://blog.youkuaiyun.com/seadplus/article/details/9707299</guid><author>seadplus</author><pubDate>Thu, 01 Aug 2013 20:10:07 +0800</pubDate><description><![CDATA[在数学运算当中经常会涉及到判断两个数是否相等的情况
对于整数很好处理   A==B这样的一个语句就可以解决全部的问题
但是对于浮点数是不同的

首先，浮点数在计算机当中的二进制表达方式就决定了大多数浮点数都是无法精确的表达的
现在的计算机大部分都是数字计算机，不是模拟机，数字机的离散化的数据表示方法自然无法精确表达大部分的数据量的。

其次计算机浮点数的精度在单精度float类型下，]]></description><category></category></item><item><title><![CDATA[linux中shell变量$#,$@,$0,$1,$2的含义解释]]></title><link>https://blog.youkuaiyun.com/seadplus/article/details/8815034</link><guid>https://blog.youkuaiyun.com/seadplus/article/details/8815034</guid><author>seadplus</author><pubDate>Wed, 17 Apr 2013 17:25:13 +0800</pubDate><description><![CDATA[linux中shell变量$#,$@,$0,$1,$2的含义解释: 
变量说明: 
$$ 
Shell本身的PID（ProcessID） 
$! 
Shell最后运行的后台Process的PID 
$? 
最后运行的命令的结束代码（返回值） 
$- 
使用Set命令设定的Flag一览 
$* 
所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出]]></description><category></category></item><item><title><![CDATA[C++静态（static）成员 静态（static）成员函数总结]]></title><link>https://blog.youkuaiyun.com/seadplus/article/details/8160376</link><guid>https://blog.youkuaiyun.com/seadplus/article/details/8160376</guid><author>seadplus</author><pubDate>Thu, 08 Nov 2012 01:07:49 +0800</pubDate><description><![CDATA[类中的静态成员真是个让人爱恨交加的特性。我决定好好总结一下静态类成员的知识点，以便自己在以后面试中，在此类问题上不在被动。 
静态类成员包括静态数据成员和静态函数成员两部分。 

一 静态数据成员： 

类体中的数据成员的声明前加上static关键字，该数据成员就成为了该类的静态数据成员。和其他数据成员一样，静态数据成员也遵守public/protected/private访问规则。同时]]></description><category></category></item><item><title><![CDATA[揭露谭浩强的错误-证实不能用字符指针变量做形参]]></title><link>https://blog.youkuaiyun.com/seadplus/article/details/8160281</link><guid>https://blog.youkuaiyun.com/seadplus/article/details/8160281</guid><author>seadplus</author><pubDate>Wed, 07 Nov 2012 23:56:14 +0800</pubDate><description><![CDATA[谭浩强  《C程序设计第三版》 第255页 例10.19 有如下程序：
功能是将a字符串复制到b,并输出两个字符串。
#include
#include
void copy_string(char *from,char *to)
{
  for(;*from!='\0';)
      *to++=*from++;  
   *to='\0';  
}
int main()]]></description><category></category></item><item><title><![CDATA[malloc/free与new/delete的区别]]></title><link>https://blog.youkuaiyun.com/seadplus/article/details/8147140</link><guid>https://blog.youkuaiyun.com/seadplus/article/details/8147140</guid><author>seadplus</author><pubDate>Sun, 04 Nov 2012 23:51:32 +0800</pubDate><description><![CDATA[相同点：都可用于申请动态内存和释放内存
不同点：
（1）操作对象有所不同。
malloc与free是C++/C 语言的标准库函数，new/delete 是C++的运算符。对于非内部数据类的对象而言，光用maloc/free 无法满足动态对象的要求。对象在创建的同时要自动执行构造函数， 对象消亡之前要自动执行析构函数。由于malloc/free 是库函数而不是运算符，不在编译器控制权限之内，不]]></description><category></category></item><item><title><![CDATA[C++里的静态（static）成员函数（不能用const的原因＋static在c++中的第五种含义）]]></title><link>https://blog.youkuaiyun.com/seadplus/article/details/8137625</link><guid>https://blog.youkuaiyun.com/seadplus/article/details/8137625</guid><author>seadplus</author><pubDate>Thu, 01 Nov 2012 16:54:16 +0800</pubDate><description><![CDATA[C++里的静态成员函数（不能用const的原因＋static在c++中的第五种含义）
















C++里的静态成员函数（不能用const的原因＋static在c++中的第五种含义）
          －－－－自 core c++
   static在c++中的第五种含义：用static修饰不访问非静态数据成员的类成员函数。这意味着一个静]]></description><category></category></item><item><title><![CDATA[指针和引用的区别总结]]></title><link>https://blog.youkuaiyun.com/seadplus/article/details/8126507</link><guid>https://blog.youkuaiyun.com/seadplus/article/details/8126507</guid><author>seadplus</author><pubDate>Tue, 30 Oct 2012 00:07:59 +0800</pubDate><description><![CDATA[1.从现象上看：指针在运行时可以改变其所指向的值，而引用一旦和某个对象绑定后就不再改变
2.从内存分配上看：程序为指针变量分配内存区域，而引用不分配内存区域
3.从编译上看：程序在编译时分别将指针和引用添加到符号表上，符号表上记录的是变量名及变量所对应地址。指针变量在符号表上对应的地址值为指针变量的地址值，而引用在符号表上对应的地址值为引用对象的地址值。符号表生成后就不会再改，因此指针可以改变]]></description><category></category></item><item><title><![CDATA[运算符重载]]></title><link>https://blog.youkuaiyun.com/seadplus/article/details/8118431</link><guid>https://blog.youkuaiyun.com/seadplus/article/details/8118431</guid><author>seadplus</author><pubDate>Sat, 27 Oct 2012 13:39:49 +0800</pubDate><description><![CDATA[C++中预定义的运算符的操作对象只能是基本数据类型。但实际上，对于许多用户自定义类型（例如类），也需要类似的运算操作。这时就必须在C++中重新定义这些运算符，赋予已有运算符新的功能，使它能够用于特定类型执行特定的操作。运算符重载的实质是函数重载，它提供了C++的可扩展性，也是C++最吸引人的特性之一。 


　　运算符重载是通过创建运算符函数实现的，运算符函数定义了重载的运算符将要进行的操作]]></description><category></category></item><item><title><![CDATA[C语言函数内部改变指针本身]]></title><link>https://blog.youkuaiyun.com/seadplus/article/details/8113312</link><guid>https://blog.youkuaiyun.com/seadplus/article/details/8113312</guid><author>seadplus</author><pubDate>Thu, 25 Oct 2012 23:11:44 +0800</pubDate><description><![CDATA[今天发一个C语言基础的小知识点：C语言中函数参数传递方式只有一种：值传递。
 
可能大家在刚开始学习C的时候都被一些教材误导，认为C中有值传递和地址传递两种方式。其实只有值传递一种，无论函数以什么形式进行传递，其实传递的都只是参数的一份拷贝！
 
举个简单的例子，一个改变某个整型变量参数的函数
int change_value(int *pChange, int val)

{]]></description><category></category></item><item><title><![CDATA[常量引用]]></title><link>https://blog.youkuaiyun.com/seadplus/article/details/8113052</link><guid>https://blog.youkuaiyun.com/seadplus/article/details/8113052</guid><author>seadplus</author><pubDate>Thu, 25 Oct 2012 22:00:25 +0800</pubDate><description><![CDATA[如果是对一个常量进行引用，则编译器首先建立一个临时变量，然后将该常量的值置入临时变量中，对该引用的操作就是对该临时变量的操作。对常量的引用可以用其它任何引用来初始化；但不能改变。

关于引用的初始化有两点值得注意：
（1）当初始化值是一个左值（可以取得地址）时，没有任何问题；
（2）当初始化值不是一个左值时，则只能对一个const
T&（常量引用）赋值。而且这个赋值是有一个过程的：
首]]></description><category></category></item><item><title><![CDATA[TCP的几个状态 SYN, FIN, ACK, PSH, RST, URG]]></title><link>https://blog.youkuaiyun.com/seadplus/article/details/8107075</link><guid>https://blog.youkuaiyun.com/seadplus/article/details/8107075</guid><author>seadplus</author><pubDate>Wed, 24 Oct 2012 14:46:23 +0800</pubDate><description><![CDATA[TCP的几个状态对于我们分析所起的作用。
 
在TCP层，有个FLAGS字段，这个字段有以下几个标识：SYN, FIN, ACK, PSH, RST, URG.
 
其中，对于我们日常的分析有用的就是前面的五个字段。
 
它们的含义是：
 
SYN表示建立连接，
 
FIN表示关闭连接，
 
ACK表示响应，
 
PSH表示有 DATA数据传输，
 
RST表示连接]]></description><category></category></item><item><title><![CDATA[C++虚函数表解析]]></title><link>https://blog.youkuaiyun.com/seadplus/article/details/8040579</link><guid>https://blog.youkuaiyun.com/seadplus/article/details/8040579</guid><author>seadplus</author><pubDate>Thu, 04 Oct 2012 23:54:02 +0800</pubDate><description><![CDATA[C++中的虚函数的作用主要是实现了多态的机制。关于多态，简而言之就是用父类型别的指针指向其子类的实例，然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”，这是一种泛型技术。所谓泛型技术，说白了就是试图使用不变的代码来实现可变的算法。比如：模板技术，RTTI技术，虚函数技术，要么是试图做到在编译时决议，要么试图做到运行时决议。

关于虚函数的使用方法，我在这里不做过]]></description><category></category></item><item><title><![CDATA[C++编程对缓冲区的理解]]></title><link>https://blog.youkuaiyun.com/seadplus/article/details/8030006</link><guid>https://blog.youkuaiyun.com/seadplus/article/details/8030006</guid><author>seadplus</author><pubDate>Fri, 28 Sep 2012 21:19:51 +0800</pubDate><description><![CDATA[转载自：http://developer.51cto.com/art/201107/277186.htm
一、什么是缓冲区
缓冲区又称为缓存，它是内存空间的一部分。也就是说，在内存空间中预留了一定的存储空间，这些存储空间用来缓冲输入或输出的数据，这部分预留的空间就叫做缓冲区。
缓冲区根据其对应的是输入设备还是输出设备，分为输入缓冲区和输出缓冲区。
二、为什么要引入缓冲区

我们为什么要]]></description><category></category></item><item><title><![CDATA[C/C++运算符优先级]]></title><link>https://blog.youkuaiyun.com/seadplus/article/details/8028529</link><guid>https://blog.youkuaiyun.com/seadplus/article/details/8028529</guid><author>seadplus</author><pubDate>Fri, 28 Sep 2012 14:46:26 +0800</pubDate><description><![CDATA[C语言中的运算符



说明
运算符
结合性


初等运算符
() [] -> . 
->


单目运算符
! ~ ++ -- - (类型) * & sizeof



算术运算符
* / %
->


算术运算符
+ -
->


移位运算符
>
->


关系运算符
> >= 
->


关系运算符
== !=]]></description><category></category></item><item><title><![CDATA[头文件与之实现文件的的关系~]]></title><link>https://blog.youkuaiyun.com/seadplus/article/details/8028221</link><guid>https://blog.youkuaiyun.com/seadplus/article/details/8028221</guid><author>seadplus</author><pubDate>Fri, 28 Sep 2012 13:30:12 +0800</pubDate><description><![CDATA[今天在网上看到一篇解释.h与.c(.cpp)的文章,我读完后感到有些地方不妥,特此按照我的理解,给初学者一些指导~
说几句题外话,刚才让女朋友陪我出去一会,她说她要先化化妆,我随口就来--简单就是美丽啊!
你猜她说什么:美丽除了天生丽质外,保养也是很重要的~ 我倒~
你理解简单的含义吗?
关于两者以前的关系,要从N年以前说起了~ long long ago,once aupon a tim]]></description><category></category></item><item><title><![CDATA[typedef中的指针]]></title><link>https://blog.youkuaiyun.com/seadplus/article/details/8023051</link><guid>https://blog.youkuaiyun.com/seadplus/article/details/8023051</guid><author>seadplus</author><pubDate>Thu, 27 Sep 2012 01:21:19 +0800</pubDate><description><![CDATA[关于typedef和define在程序运行中的作用。




例：

#define a int

typedef int a;




define是展开，纯展开。不是调用。如例，int就像一只悬挂在a上面的一块石头，就随时准备着，你说需要的时候，它就“啪”的一声掉下来，把原本定义的名字砸在下面。展现出原本的自己。别的它不管不问了，融入代码的海洋中了。（所以切记int]]></description><category></category></item><item><title><![CDATA[C语言中sizeof与strlen区别]]></title><link>https://blog.youkuaiyun.com/seadplus/article/details/8021887</link><guid>https://blog.youkuaiyun.com/seadplus/article/details/8021887</guid><author>seadplus</author><pubDate>Wed, 26 Sep 2012 17:50:28 +0800</pubDate><description><![CDATA[一.本质区别
sizeof和strlen有本质上的区别。sizeof是C语言的一种单目运算符，如++、--等，并不是函数，sizeof的优先级为2级，比/、% 等3级运算符优先级高，sizeof以字节的形式给出操作数的存储空间的大小。而strlen是一个函数，是由C语言的标准库提供的。strlen计算的 是字符串的长度。
二.使用区别
1.sizeof
sizeof的操作数可以是数据类型、]]></description><category></category></item><item><title><![CDATA[C++异常处理]]></title><link>https://blog.youkuaiyun.com/seadplus/article/details/7980219</link><guid>https://blog.youkuaiyun.com/seadplus/article/details/7980219</guid><author>seadplus</author><pubDate>Fri, 14 Sep 2012 18:07:21 +0800</pubDate><description><![CDATA[异常：程序执行期间，可检测到的不正常情况。
例如：0作除数；数组下标越界；打开不存在的文件；远程机器连接超时；malloc失败等等。
程序的两种状态：
正常状态和异常状态，发生不正常情况后，进入异常状态，从当前函数开始，按调用链的相反次序，查找处理该异
常的程序片断。
1.throw 表达式
语义：用表达式的值生成一个对象（异常对象），程序进入异常状态。
Terminate函数，终止]]></description><category></category></item><item><title><![CDATA[关于C++中模板中的typename和class的区别比较]]></title><link>https://blog.youkuaiyun.com/seadplus/article/details/7969369</link><guid>https://blog.youkuaiyun.com/seadplus/article/details/7969369</guid><author>seadplus</author><pubDate>Tue, 11 Sep 2012 23:54:38 +0800</pubDate><description><![CDATA[问题：在下面的 template declarations（模板声明）中 class 和 typename 有什么不同？
template class Widget; // uses "class"
template class Widget; // uses "typename" 

　　答案：没什么不同。在声明一个 template type parameter（模板类型参数）的时候，]]></description><category></category></item><item><title><![CDATA[C++ 虚析构函数]]></title><link>https://blog.youkuaiyun.com/seadplus/article/details/7957503</link><guid>https://blog.youkuaiyun.com/seadplus/article/details/7957503</guid><author>seadplus</author><pubDate>Sat, 08 Sep 2012 10:50:04 +0800</pubDate><description><![CDATA[类型需要虚析构函数的另外一个特征 是该类型具有指针成员或引用成员。如果有指针成员和引用成员，则该类型通常需要实现析构函数以及拷贝操作。
通常，一个实现了析构函数的类型同时也需要实现拷贝构造函数与拷贝复制函数。
作为一个经验法则：
如果你有一个带有虚函数功能的类，则它需要一个虚析构函数，原因如下：
1. 如果一个类有虚函数功能，它经常作为一个基类使用。
2.如果它是一个基类，它的派生类经常]]></description><category></category></item></channel></rss>