<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[slforeverlove的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/slforeverlove</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; slforeverlove]]></copyright><item><title><![CDATA[C实现memset函数]]></title><link>https://blog.youkuaiyun.com/slforeverlove/article/details/49161245</link><guid>https://blog.youkuaiyun.com/slforeverlove/article/details/49161245</guid><author>slforeverlove</author><pubDate>Fri, 16 Oct 2015 00:03:40 +0800</pubDate><description><![CDATA[memset()函数的作用是一字节一字节地把整个数组设置为一个指定的值。 memset()函数在mem.h头文件中声明，它把数组的起始地址作为其第一个参数，第二个参数是设置数组每个字节的值，第三个参数是数组的长度(字节数，不是元素个数)。

其函数原型如下：





void* memset(void* s, int c, size_t n)
{
    unsigned c]]></description><category></category></item><item><title><![CDATA[const成员函数]]></title><link>https://blog.youkuaiyun.com/slforeverlove/article/details/48829155</link><guid>https://blog.youkuaiyun.com/slforeverlove/article/details/48829155</guid><author>slforeverlove</author><pubDate>Wed, 30 Sep 2015 15:28:59 +0800</pubDate><description><![CDATA[在C++中，若一个变量声明为const类型，则试图修改该变量的值的操作都被视编译错误.例如：
const int a=1;
a=2;//错误
C++的const类成员函数:
面向对象程序设计中，为了体现封装性，通常不允许直接修改类对象的数据成员。若要修改类对象，应调用公有成员函数来完成。
为了保证const对象的常量性，编译器须区分试图修改类对象与不修改类对象的函数。把一个成员函数声明为]]></description><category></category></item><item><title><![CDATA[对面向过程、面向对象、类、对象的理解]]></title><link>https://blog.youkuaiyun.com/slforeverlove/article/details/48492877</link><guid>https://blog.youkuaiyun.com/slforeverlove/article/details/48492877</guid><author>slforeverlove</author><pubDate>Wed, 16 Sep 2015 13:54:00 +0800</pubDate><description><![CDATA[面向过程是一种直接的编程方法，它是按照编程语言的思路考虑问题。尤其是想C语言这种过程式语言，它就是通过顺序执行一组语句来实现一个功能，这些语句的执行过程就是整个程序。


   面向对象是基于万物皆对象这个哲学观点. 把一个对象抽象成类,具体上就是把一个对象的静态特征和动态特征抽象成属性和方法,也就是把一类事物的算法和数据结构封装在一个类之中,程序就是多个对象和互相之间的通信组成的.]]></description><category></category></item><item><title><![CDATA[全局变量，全局静态变量，局部静态变量，局部变量]]></title><link>https://blog.youkuaiyun.com/slforeverlove/article/details/48445293</link><guid>https://blog.youkuaiyun.com/slforeverlove/article/details/48445293</guid><author>slforeverlove</author><pubDate>Mon, 14 Sep 2015 20:20:35 +0800</pubDate><description><![CDATA[变量可以分为全局变量、静态全局变量、静态局部变量和局部变量。


按照存储区分：全局变量、静态全局变量和静态局部变量都存放在内存的全局数据区，局部变量存放在内存的栈区。
 
按作用域分：全局变量在整个工程文件内都有效；静态全局变量只在定义它的文件内有效；静态局部变量只在定义它的函数内有效，只是程序仅分配一次内存，函数返回后，该变量不会消失；局部变量在定义它的函数内有效，但是函数返回后失效]]></description><category></category></item><item><title><![CDATA[C++内存管理]]></title><link>https://blog.youkuaiyun.com/slforeverlove/article/details/48444699</link><guid>https://blog.youkuaiyun.com/slforeverlove/article/details/48444699</guid><author>slforeverlove</author><pubDate>Mon, 14 Sep 2015 19:55:39 +0800</pubDate><description><![CDATA[1.1分配方式简介
在C++中，内存分成4个区，他们分别是堆、栈、全局/静态存储区和常量存储区。
　　栈，在执行函数时，函数内局部变量的存储单元都可以在栈上创建，函数执行结束时这些存储单元自动被释放。分配效率很高，但是分配的内存容量有限。
　　堆，就是那些由new分配的内存块，他们的释放编译器不去管，由我们的应用程序去控制，一般一个new就要对应一个delete。如果程序员没有释放掉，那么在]]></description><category></category></item><item><title><![CDATA[C++中不能被声明为虚函数的函数]]></title><link>https://blog.youkuaiyun.com/slforeverlove/article/details/48444567</link><guid>https://blog.youkuaiyun.com/slforeverlove/article/details/48444567</guid><author>slforeverlove</author><pubDate>Mon, 14 Sep 2015 19:48:02 +0800</pubDate><description><![CDATA[常见的不能声明为虚函数的有：普通函数（非成员函数）,静态成员函数,内联成员函数,构造函数,友元函数。
1、为什么C++不支持普通函数为虚函数？
      普通函数（非成员函数）只能被overload，不能被override，声明为虚函数也没有什么意思，因此编译器会在编译时邦定函数。
2、为什么C++不支持构造函数为虚函数？
      这个原因很简单，主要是从语义上考虑，所以不支持。因为]]></description><category></category></item><item><title><![CDATA[华为上机考试题----删除重复字符串和约瑟夫环]]></title><link>https://blog.youkuaiyun.com/slforeverlove/article/details/48415709</link><guid>https://blog.youkuaiyun.com/slforeverlove/article/details/48415709</guid><author>slforeverlove</author><pubDate>Sun, 13 Sep 2015 15:09:02 +0800</pubDate><description><![CDATA[1、删除重复字符串（哈希数组的应用）
给定一个字符串，将字符串中所有和前面重复多余的字符删除，其余字符保留，输出处理后的字符串。需要保证字符出现的先后顺序，并且区分大小写。
#include 
#include 

int main() {
char str[100],hash[256];
int len, i;
char *index = str;
gets(str);
le]]></description><category></category></item><item><title><![CDATA[二分查找]]></title><link>https://blog.youkuaiyun.com/slforeverlove/article/details/48415699</link><guid>https://blog.youkuaiyun.com/slforeverlove/article/details/48415699</guid><author>slforeverlove</author><pubDate>Sun, 13 Sep 2015 15:02:05 +0800</pubDate><description><![CDATA[二分查找是在有序表中查找某一数据用的比较频繁的算法。时间复杂度是O（logn)。
譬如在数组{1,2,3,4,5,6,7,8,9}中查找元素6，则使用二分查找算法的话，执行顺序为：
1 第一步查找中间元素，即是5，将6与5进行比较，得出5则6必然在5之后的那一部分，那么就在这一部分开始寻找；
2 第二步查找{6,7,8,9}的中间元素，即是7，将6与7比较，得出7>6;则6必然在7左边的部分]]></description><category></category></item><item><title><![CDATA[等价类划分--三角形测试用例设计]]></title><link>https://blog.youkuaiyun.com/slforeverlove/article/details/48296121</link><guid>https://blog.youkuaiyun.com/slforeverlove/article/details/48296121</guid><author>slforeverlove</author><pubDate>Tue, 08 Sep 2015 20:12:39 +0800</pubDate><description><![CDATA[测试用例实例－－三角形用例设计


测试一个图形是不是三角形，需考虑到三角形的性质要求。除了满足A B C均是整数且大于0，还需满足
A>0，B>0，C>0，且A+B>C，B+C>A，A+C>B。
如果是等腰的，还要判断A=B，或B=C，或A=C。
如果是等边的，则需判断是否A=B，且B=C，且A=C。




输入条件


有效等价类


无效等价类]]></description><category></category></item><item><title><![CDATA[快速排序详解]]></title><link>https://blog.youkuaiyun.com/slforeverlove/article/details/48241823</link><guid>https://blog.youkuaiyun.com/slforeverlove/article/details/48241823</guid><author>slforeverlove</author><pubDate>Sun, 06 Sep 2015 11:37:44 +0800</pubDate><description><![CDATA[快速排序也是基于交换的原理进行的，是对冒泡排序的一种改进。即它是通过不断比较和移动交换来实现排序的，只不过它的实现，增大了记录的比较和移动的距离，将关键字比较大的记录从前面直接移动到后面，关键字较小的记录从后面直接移动到前面，从而减小了总的比较次数和移动次数。
 
     快速排序采用的思想是分治思想。
 
     快速排序是找出一个元素（理论上可以随便找一个）作为基准(pivot),]]></description><category></category></item><item><title><![CDATA[TCP协议疑难杂症解析]]></title><link>https://blog.youkuaiyun.com/slforeverlove/article/details/48225579</link><guid>https://blog.youkuaiyun.com/slforeverlove/article/details/48225579</guid><author>slforeverlove</author><pubDate>Sat, 05 Sep 2015 15:49:25 +0800</pubDate><description><![CDATA[首先我们认识一下为何IP协议是沙漏的细腰部分。它的下层是繁多的链路层协议，这些链路提供了相互截然不同且相差很远的语义，为了互联这些异构的网络，我们需要一个网络层协议起码要提供一些适配的功能，另外它必然不能提供太多的“保证性服务”，因为上层的保证性依赖下层的约束性更强的保证性，你永远无法在一个100M吞吐量的链路之上实现的IP协议保证1000M的吞吐量…

IP协议设计为分组转发协议，每一跳都要]]></description><category></category></item><item><title><![CDATA[性能测试基本概念]]></title><link>https://blog.youkuaiyun.com/slforeverlove/article/details/48225031</link><guid>https://blog.youkuaiyun.com/slforeverlove/article/details/48225031</guid><author>slforeverlove</author><pubDate>Sat, 05 Sep 2015 14:29:04 +0800</pubDate><description><![CDATA[什么是性能测试？  
     性能测试说白了就是通过工具模拟多个用户对被测系统进行访问，然后查看系统对于多个用户发来请求的处理能力。包括负载测试，强度测试，数据库容量测试，以及竞争(并发，用户)测试。
性能测试常用术语解析：
并发用户数量：与服务器进行交互(例如产生数据传输)的在线用户数量。
请求响应时间：从client端发出请求到得到响应的整个时间。一般包括网络的响应时间和server]]></description><category></category></item><item><title><![CDATA[ARP协议]]></title><link>https://blog.youkuaiyun.com/slforeverlove/article/details/48207667</link><guid>https://blog.youkuaiyun.com/slforeverlove/article/details/48207667</guid><author>slforeverlove</author><pubDate>Fri, 04 Sep 2015 11:12:23 +0800</pubDate><description><![CDATA[ARP协议：是地址解析协议，将IP地址转化为MAC地址。工作在网络层，将上层传下来的数据报中的IP地址转化为MAC地址继续传送。
为什么需要ARP协议？
 因为网络层及以上传送数据时是根据IP地址进行传送的，而下两层使用的是MAC地址，因此在二三层中间必须有一个工具用以转换IP地址和MAC地址，所以就出现了ARP和RARP。ARP是将IP地址转化为MAC地址，RARP则是将MAC地址转化为IP]]></description><category></category></item><item><title><![CDATA[IP数据报的格式]]></title><link>https://blog.youkuaiyun.com/slforeverlove/article/details/48179177</link><guid>https://blog.youkuaiyun.com/slforeverlove/article/details/48179177</guid><author>slforeverlove</author><pubDate>Wed, 02 Sep 2015 15:38:44 +0800</pubDate><description><![CDATA[IP协议是网络层的协议。它提供不可靠的，无连接的数据包传送服务。
   不可靠是指它不保证数据能够成功到达目的方。如果发生某种错误时，如某个路由器暂时用完了缓冲区，IP有一个简单的错误处理方法：丢弃该数据报，并发送ICMP消息报给信源端。任何要求的可靠性必须由上层提供（如TCP）。
   无连接指的是IP并不维护任何关于后续数据包的状态信息，任何数据包的处理是相对独立的。即目的方收到的数据报的]]></description><category></category></item><item><title><![CDATA[软件测试模型之V模型和W模型]]></title><link>https://blog.youkuaiyun.com/slforeverlove/article/details/48164183</link><guid>https://blog.youkuaiyun.com/slforeverlove/article/details/48164183</guid><author>slforeverlove</author><pubDate>Tue, 01 Sep 2015 21:42:32 +0800</pubDate><description><![CDATA[下面是比较流行的V测试模型：


       V模型中的过程从左到右，描述了基本的开发过程和测试行为。V模型的价值在于它非常明确地标明了测试过程中存在的不同级别，并且清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系。局限性： 把测试作为编码之后的最后一个活动，需求分析等前期产生的错误直到后期的验收测试才能发现.

下面是W测试模型：



      V模型的局限性在于没]]></description><category></category></item><item><title><![CDATA[自动化测试理解]]></title><link>https://blog.youkuaiyun.com/slforeverlove/article/details/48164087</link><guid>https://blog.youkuaiyun.com/slforeverlove/article/details/48164087</guid><author>slforeverlove</author><pubDate>Tue, 01 Sep 2015 21:32:19 +0800</pubDate><description><![CDATA[以下问题，可以帮助我们更深入的理解自动化测试？而不只是停留在自动化测试工具的使用上。
什么是自动化测试？
通过工具记录或编写脚本的方式模拟手工测试的过程，通过回放或运行脚本来执行测试用例，从而代替人工对系统的功能进行验证。
自动化测试和手工测试的区别？
手动测试优点：
1.在测试过程中充分发挥人的主观能动性，灵活性
2.可以充分利用发散思维和优秀的逻辑思维能力，分析能力以及判断力
3]]></description><category></category></item><item><title><![CDATA[功能测试理解]]></title><link>https://blog.youkuaiyun.com/slforeverlove/article/details/48164051</link><guid>https://blog.youkuaiyun.com/slforeverlove/article/details/48164051</guid><author>slforeverlove</author><pubDate>Tue, 01 Sep 2015 21:29:41 +0800</pubDate><description><![CDATA[功能性测试又叫正确性测试，主要是对系统所支持的功能点的测试，对数据的测试，包括数据边界的测试、数据包长度限制的测试、各个功能模块数据的正确性测试以及容错处理。该项测试要先把系统的功能点全部列出来，对异常数据的处理也算在内。
功能测试的重点在哪儿？
想做好功能测试要做好四点：
1. 非常了解被测试系统，各个功能和各个业务逻辑。
2. 需求文档，如果你不知道怎么测，那你一定没看需求文档]]></description><category></category></item><item><title><![CDATA[黑盒测试和白盒测试]]></title><link>https://blog.youkuaiyun.com/slforeverlove/article/details/48162767</link><guid>https://blog.youkuaiyun.com/slforeverlove/article/details/48162767</guid><author>slforeverlove</author><pubDate>Tue, 01 Sep 2015 20:09:40 +0800</pubDate><description><![CDATA[黑盒测试又称为数据驱动测试，它是基于程序规格说明书作为依据进行设计测试用例，目的是为了找出程序不符合规格说明书的地方。
白盒测试又称为逻辑驱动测试，它是基于程序设计的内部逻辑结构进行设计测试用例，目的是为了测试用例执行的程度或者覆盖源代码的程度。
黑盒测试和白盒测试的区别
黑盒测试的优点：
不需要了解源代码
对于大型项目来说，黑盒测试的效率比白盒测试要高
有助于发现跟程序规格说明书不一]]></description><category></category></item><item><title><![CDATA[mysql explain解析]]></title><link>https://blog.youkuaiyun.com/slforeverlove/article/details/48155155</link><guid>https://blog.youkuaiyun.com/slforeverlove/article/details/48155155</guid><author>slforeverlove</author><pubDate>Tue, 01 Sep 2015 11:12:08 +0800</pubDate><description><![CDATA[基于mysql 5.5 存储引擎myisam
一：explain的作用

explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。
二：explain的使用

如上所示：explain的查询结果包括以上字段，下面对各个字段的含义逐一进行解释。
id列
建表：

查询


从 3 个表中查询，对应输出 3 行]]></description><category></category></item><item><title><![CDATA[精通QTP--常见面试题]]></title><link>https://blog.youkuaiyun.com/slforeverlove/article/details/48135105</link><guid>https://blog.youkuaiyun.com/slforeverlove/article/details/48135105</guid><author>slforeverlove</author><pubDate>Mon, 31 Aug 2015 15:45:43 +0800</pubDate><description><![CDATA[1）QTP支持那些环境？

　　QTP支持以下环境：

　　Active X、Delphi、Java、Net、Oracle、People Soft Power Builder、SAP、Siebel、Stingray
 Terminal Emulator、Visual Basic Visual Age 、Web、Web Services

　　2）QTP的对象库类型是什么？]]></description><category></category></item></channel></rss>