<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[outcastllx的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/outcastllx</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; outcastllx]]></copyright><item><title><![CDATA[设计模式(四)---代理模式]]></title><link>https://blog.youkuaiyun.com/outcastllx/article/details/6803698</link><guid>https://blog.youkuaiyun.com/outcastllx/article/details/6803698</guid><author>outcastllx</author><pubDate>Fri, 23 Sep 2011 13:52:13 +0800</pubDate><description><![CDATA[GOOD：
远程代理，可以隐藏一个对象在不同地址空间的事实
虚拟代理：通过代理来存放需要很长时间实例化的对象
安全代理：用来控制真实对象的访问权限
智能引用：当调用真实对象时，代理处理另外一些事

例：
#include 
#include 
using nam]]></description><category></category></item><item><title><![CDATA[设计模式(三)---装饰模式]]></title><link>https://blog.youkuaiyun.com/outcastllx/article/details/6782599</link><guid>https://blog.youkuaiyun.com/outcastllx/article/details/6782599</guid><author>outcastllx</author><pubDate>Sat, 17 Sep 2011 17:50:44 +0800</pubDate><description><![CDATA[动态地给一个对象添加一些额外的职责（不重要的功能，只是偶然一次要执行），就增加功能来说，装饰模式比生成子类更为灵活。建造过程不稳定，按正确的顺序串联起来进行控制。
        GOOD:当你向旧的类中添加新代码时，一般是为了添加核心职责或主要行为。而当需要加入的仅仅是一些特]]></description><category></category></item><item><title><![CDATA[webservice(一)---c#开发webservice]]></title><link>https://blog.youkuaiyun.com/outcastllx/article/details/6785465</link><guid>https://blog.youkuaiyun.com/outcastllx/article/details/6785465</guid><author>outcastllx</author><pubDate>Sat, 17 Sep 2011 17:49:43 +0800</pubDate><description><![CDATA[1.1、Web Service 
        Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求，轻量级的独立的通讯技术。是:通过SOAP在Web上提供的软件服务，使]]></description><category></category></item><item><title><![CDATA[设计模式(二)---策略模式]]></title><link>https://blog.youkuaiyun.com/outcastllx/article/details/6779561</link><guid>https://blog.youkuaiyun.com/outcastllx/article/details/6779561</guid><author>outcastllx</author><pubDate>Thu, 15 Sep 2011 19:50:58 +0800</pubDate><description><![CDATA[定义算法家族，分别封装起来，让它们之间可以互相替换，让算法变化，不会影响到用户
        GOOD:适合类中的成员以方法为主，算法经常变动；简化了单元测试（因为每个算法都有自己的类，可以通过自己的接口单独测试。
        策略模式和简单工厂基本相同，但简单工厂模式]]></description><category></category></item><item><title><![CDATA[设计模式(一)---简单工厂模式]]></title><link>https://blog.youkuaiyun.com/outcastllx/article/details/6779551</link><guid>https://blog.youkuaiyun.com/outcastllx/article/details/6779551</guid><author>outcastllx</author><pubDate>Thu, 15 Sep 2011 19:42:38 +0800</pubDate><description><![CDATA[主要用于创建对象。新添加类时，不会影响以前的系统代码。核心思想是用一个工厂来根据输入的条件产生不同的类，然后根据不同类的virtual函数得到不同的结果。
GOOD:适用于不同情况创建不同的类时
BUG：客户端必须要知道基类和工厂类，耦合性差

（工厂类与基类为关联关系）]]></description><category></category></item><item><title><![CDATA[深入理解 C++ 指针(十)---指针与链表问题]]></title><link>https://blog.youkuaiyun.com/outcastllx/article/details/6775261</link><guid>https://blog.youkuaiyun.com/outcastllx/article/details/6775261</guid><author>outcastllx</author><pubDate>Wed, 14 Sep 2011 17:16:09 +0800</pubDate><description><![CDATA[红色部分所示的程序语句有问题，改正后的程序在下面。
list1.c 
struct listNode
{     int data; 
     struct listNode *nextPtr; 
}; 
typedef struct listNode LISTNO]]></description><category></category></item><item><title><![CDATA[深入理解 C++ 指针(九)---指针的安全问题]]></title><link>https://blog.youkuaiyun.com/outcastllx/article/details/6775239</link><guid>https://blog.youkuaiyun.com/outcastllx/article/details/6775239</guid><author>outcastllx</author><pubDate>Wed, 14 Sep 2011 17:09:19 +0800</pubDate><description><![CDATA[看下面的例子： 
例十七： 
char s='a'; 
int *ptr; 
ptr=(int*)&s; 
*ptr=1298； 
        指针ptr是一个int*类型的指针，它指向的类型是int。它指向的地址就是s的首地址。在32位程序中，s占一个字节，in]]></description><category></category></item><item><title><![CDATA[深入理解 C++ 指针(八)---指针类型转换]]></title><link>https://blog.youkuaiyun.com/outcastllx/article/details/6774877</link><guid>https://blog.youkuaiyun.com/outcastllx/article/details/6774877</guid><author>outcastllx</author><pubDate>Wed, 14 Sep 2011 16:23:21 +0800</pubDate><description><![CDATA[当我们初始化一个指针或给一个指针赋值时，赋值号的左边是一个指针，赋值号的右边是一个指针表达式。在我们前面所举的例子中，绝大多数情况下，指针的类型和指针表达式的类型是一样的，指针所指向的类型和指针表达式所指向的类型是一样的。

例十四： 
1.float f=12.3;]]></description><category></category></item><item><title><![CDATA[深入理解 C++ 指针(七)---指针和函数的关系]]></title><link>https://blog.youkuaiyun.com/outcastllx/article/details/6774783</link><guid>https://blog.youkuaiyun.com/outcastllx/article/details/6774783</guid><author>outcastllx</author><pubDate>Wed, 14 Sep 2011 15:41:10 +0800</pubDate><description><![CDATA[可以把一个指针声明成为一个指向函数的指针。 
int fun1(char*,int); 
int (*pfun1)(char*,int); 
pfun1=fun1; 
.... 
int a=(*pfun1)("abcdefg",7);//通过函数指针调用函数。 
可]]></description><category></category></item><item><title><![CDATA[深入理解 C++ 指针(六)---指针和结构类型的关系]]></title><link>https://blog.youkuaiyun.com/outcastllx/article/details/6774768</link><guid>https://blog.youkuaiyun.com/outcastllx/article/details/6774768</guid><author>outcastllx</author><pubDate>Wed, 14 Sep 2011 15:37:37 +0800</pubDate><description><![CDATA[可以声明一个指向结构类型对象的指针。 
例十一： 
struct MyStruct 
{ 
int a; 
int b; 
int c; 
} 
MyStruct ss={20,30,40};//声明了结构对象ss，并把ss的三个成员初始化为20，30和40。]]></description><category></category></item><item><title><![CDATA[深入理解 C++ 指针(五)---数组和指针的关系]]></title><link>https://blog.youkuaiyun.com/outcastllx/article/details/6772261</link><guid>https://blog.youkuaiyun.com/outcastllx/article/details/6772261</guid><author>outcastllx</author><pubDate>Tue, 13 Sep 2011 19:58:44 +0800</pubDate><description><![CDATA[如果对声明数组的语句不太明白的话，请参阅我前段时间贴出的文章>。 
        数组的数组名其实可以看作一个指针。看下例：

 
例八： 
int array[10]={0,1,2,3,4,5,6,7,8,9};
int value; 
value=array[]]></description><category></category></item><item><title><![CDATA[深入理解 C++ 指针(四)---指针表达式]]></title><link>https://blog.youkuaiyun.com/outcastllx/article/details/6772244</link><guid>https://blog.youkuaiyun.com/outcastllx/article/details/6772244</guid><author>outcastllx</author><pubDate>Tue, 13 Sep 2011 19:40:47 +0800</pubDate><description><![CDATA[一个表达式的最后结果如果是一个指针，那么这个表达式就叫指针表达式。 
下面是一些指针表达式的例子： 
例六： 
int a,b; 
int array[10]; 
int *pa; 
pa=&a;//&a是一个指针表达式。 
int **ptr=&pa;//&pa也]]></description><category></category></item><item><title><![CDATA[深入理解 C++ 指针(三)---运算符&和*]]></title><link>https://blog.youkuaiyun.com/outcastllx/article/details/6772231</link><guid>https://blog.youkuaiyun.com/outcastllx/article/details/6772231</guid><author>outcastllx</author><pubDate>Tue, 13 Sep 2011 19:35:17 +0800</pubDate><description><![CDATA[运算符&是取地址运算符，*书上叫做“间接运算符”。&a的运算结果是一个指针，指针的类型是a的类型加个*，指针所指向的类型是a的类型，指针所指向的地址嘛，那就是a的地址。*p的运算结果就五花八门了。总之*p的结果是p所指向的东西，这个东西有这些特点：它的类型是p指向的类型，它所占用]]></description><category></category></item><item><title><![CDATA[深入理解 C++ 指针(二)---指针的算术运算]]></title><link>https://blog.youkuaiyun.com/outcastllx/article/details/6770935</link><guid>https://blog.youkuaiyun.com/outcastllx/article/details/6770935</guid><author>outcastllx</author><pubDate>Tue, 13 Sep 2011 13:22:28 +0800</pubDate><description><![CDATA[指针的算术运算
      指针可以加上或减去一个整数。指针的这种运算的意义和通常的数值的加减运算的意义是不一样的。例如：
例二：
1.char a[20];
2.int *ptr=a;
3.ptr++;

      在上例中，指针ptr的类型是int*,它指向的]]></description><category></category></item><item><title><![CDATA[深入理解 C++ 指针(一)---指针的概念]]></title><link>https://blog.youkuaiyun.com/outcastllx/article/details/6770760</link><guid>https://blog.youkuaiyun.com/outcastllx/article/details/6770760</guid><author>outcastllx</author><pubDate>Tue, 13 Sep 2011 13:17:00 +0800</pubDate><description><![CDATA[指针是一个特殊的变量，它存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容：指针的类型，指针所指向的类型，指针的值或者叫指针所指向的内存区，还有指针本身所占据的内存区。让我们分别说明。


先声明几个指针放着做例子：
例一：
(1)int*p]]></description><category></category></item><item><title><![CDATA[Visual studio 常见问题]]></title><link>https://blog.youkuaiyun.com/outcastllx/article/details/6199321</link><guid>https://blog.youkuaiyun.com/outcastllx/article/details/6199321</guid><author>outcastllx</author><pubDate>Tue, 22 Feb 2011 10:26:00 +0800</pubDate><description><![CDATA[1、打开工作区时出现了如下错误: cannot access the ClassView information file.ClassView information will not be available.解决方法:a.关闭工程b.删除工程下.clw .ncb 文件及/debug目录，c.重建工程build all]]></description><category></category></item></channel></rss>