<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[coolmousewife的专栏]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/coolmousewife</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; coolmousewife]]></copyright><item><title><![CDATA[IUnknown—COM和MFC]]></title><link>https://blog.csdn.net/coolmousewife/article/details/4686077</link><guid>https://blog.csdn.net/coolmousewife/article/details/4686077</guid><author>coolmousewife</author><pubDate>Sat, 17 Oct 2009 01:52:00 +0800</pubDate><description><![CDATA[转自：http://hi.baidu.com/zhangqiuxi/blog/item/6d9603ad9c8fe5084b36d6a0.html问题：      我用MFC编写COM程序有一段时间了，知道如何使用宏和嵌套类，以及如何在嵌套类中处理IUnknown接口，但对IUnknown的使用还是不太老练。假设CMyClass是一个COM服务器，从CCmdTarget派生。它实现了IMy]]></description><category></category></item><item><title><![CDATA[C++局部类和嵌套类]]></title><link>https://blog.csdn.net/coolmousewife/article/details/4670012</link><guid>https://blog.csdn.net/coolmousewife/article/details/4670012</guid><author>coolmousewife</author><pubDate>Wed, 14 Oct 2009 16:15:00 +0800</pubDate><description><![CDATA[局部类在一个函数体内定义的类称为局部类。局部类中只能使用它的外围作用域中的对象和函数进行联系，因为外围作用域中的变量与该局部类的对象无关。在定义局部类时需要注意：局部类中不能说明静态成员函数，并且所有成员函数都必须定义在类体内。在实践中，局部类是很少使用的。下面是一个局部类的例子。int a;void fun(){static int s;class A{public:   void init]]></description><category></category></item><item><title><![CDATA[lib和dll文件的区别和联系【转~~相当经典】]]></title><link>https://blog.csdn.net/coolmousewife/article/details/4665587</link><guid>https://blog.csdn.net/coolmousewife/article/details/4665587</guid><author>coolmousewife</author><pubDate>Tue, 13 Oct 2009 20:27:00 +0800</pubDate><description><![CDATA[(1)lib是编译时需要的，dll是运行时需要的。 如果要完成源代码的编译，有lib就够了。 如果也使动态连接的程序运行起来，有dll就够了。 在开发和调试阶段，当然最好都有。 (2)一般的动态库程序有lib文件和dll文件。lib文件是必须在编译期就连接到应用程序中的，而dll文件是运行期才会被调用的。如果有dll文件，那么对应的lib文件一般是一些索引信息，具体的实现在dll文件中。如果只有l]]></description><category></category></item><item><title><![CDATA[const用法小议 ]]></title><link>https://blog.csdn.net/coolmousewife/article/details/4645908</link><guid>https://blog.csdn.net/coolmousewife/article/details/4645908</guid><author>coolmousewife</author><pubDate>Fri, 09 Oct 2009 14:56:00 +0800</pubDate><description><![CDATA[const是C++的关键字之一，与其他的关键字相比，C++初学者可能对于const的使用会一时摸不着头脑，若能正确的使用const，将使你的程序更加Robust！测试题先行～～1 int i = 5;2 const int *ip = &i;3 int const *ip = &i;4 int* const ip = &i;5 const int* const ip = &i;对于]]></description><category></category></item><item><title><![CDATA[Visual C++中窗口子类化技术的实现及其应用]]></title><link>https://blog.csdn.net/coolmousewife/article/details/4645280</link><guid>https://blog.csdn.net/coolmousewife/article/details/4645280</guid><author>coolmousewife</author><pubDate>Fri, 09 Oct 2009 12:21:00 +0800</pubDate><description><![CDATA[一、引言    在Windows编程中，如果我们想在窗口程序执行时改变它所包含的控件（对话框中的按钮、下拉式菜单等）的某些行为，采用窗口子类化技术是一个不错的选择。可以使用对已有控件派生子类的方式定义一个子类，而控件的消息处理则在新定义的子类里定义。适当使用子类化技术创建出容易使用的新窗口类，往往可以使你的程序界面更具人性化。    二、窗口子类化技术概述    Windows的窗口类]]></description><category></category></item><item><title><![CDATA[8皇后问题算法]]></title><link>https://blog.csdn.net/coolmousewife/article/details/4644065</link><guid>https://blog.csdn.net/coolmousewife/article/details/4644065</guid><author>coolmousewife</author><pubDate>Fri, 09 Oct 2009 00:24:00 +0800</pubDate><description><![CDATA[/////////////////////////八皇后问题 回朔法  //该算法的思路是：每个皇后先后从第一列出发，找合适自己的列的位置。当找到合适的位置//   则下一个皇后出发。如果没找到则回朔到上一个皇后继续找，知道8个皇后全有合适位置为止。#include #define MAX 8int Match(int line[],int p)   //检测是否符合条件{ int i; ]]></description><category></category></item><item><title><![CDATA[关于框架类和视图类的PreCreateWindow函数的重载！！]]></title><link>https://blog.csdn.net/coolmousewife/article/details/4639184</link><guid>https://blog.csdn.net/coolmousewife/article/details/4639184</guid><author>coolmousewife</author><pubDate>Wed, 07 Oct 2009 13:43:00 +0800</pubDate><description><![CDATA[框架类： static LPCSTR classname=NULL; if( !CFrameWnd::PreCreateWindow(cs) )  return FALSE; // TODO: Modify the Window class or styles here by modifying //  the CREATESTRUCT cs    if(classname==NULL) ]]></description><category></category></item><item><title><![CDATA[volatile的用法]]></title><link>https://blog.csdn.net/coolmousewife/article/details/4628795</link><guid>https://blog.csdn.net/coolmousewife/article/details/4628795</guid><author>coolmousewife</author><pubDate>Sat, 03 Oct 2009 10:19:00 +0800</pubDate><description><![CDATA[volatile 影响编译器编译的结果,指出，volatile 变量是随时可能发生变化的，与volatile变量有关的运算，不要进行编译优化，以免出错，（VC++ 在产生release版可执行码时会进行编译优化，加volatile关键字的变量有关的运算，将不进行编译优化。）。 例如： volatile int i=10; int j = i; ... int k = i; volatile 告诉编]]></description><category></category></item><item><title><![CDATA[DPtoLP的符号问题]]></title><link>https://blog.csdn.net/coolmousewife/article/details/4627230</link><guid>https://blog.csdn.net/coolmousewife/article/details/4627230</guid><author>coolmousewife</author><pubDate>Fri, 02 Oct 2009 13:34:00 +0800</pubDate><description><![CDATA[DPtoLP函数转换坐标后不改变其符号。所以在用y值向下递减的模式绘图时要注意，假设取得了设备坐标sizemount（其x和y坐标肯定都为正），再通过pDC->DPtoLP(&sizemount）；将其转换成逻辑坐标后直接用来绘图会出问题。所以必须先将sizemount的y坐标变成负值再绘图。]]></description><category></category></item><item><title><![CDATA[KMP算法理解]]></title><link>https://blog.csdn.net/coolmousewife/article/details/4626443</link><guid>https://blog.csdn.net/coolmousewife/article/details/4626443</guid><author>coolmousewife</author><pubDate>Thu, 01 Oct 2009 23:30:00 +0800</pubDate><description><![CDATA[KMP算法的关键之处在于next数组的理解！假设t为目标，p为模式。j为t中下标，i为p中下标。先从朴素模式匹配算法理解下或许会好些：当模式串中的p[i]与目标串中的t[j]不等时，需要把目标中的指针回朔到j-i+1处重新用t[j-i+1]与p[0]匹配。在目标指针回朔的过程中，就可能导致许多不必要的重复匹配。 KMP算法的思想是：当p[i]!=t[j]时，要能找到模式串一个大]]></description><category></category></item><item><title><![CDATA[Josephus算法解答~]]></title><link>https://blog.csdn.net/coolmousewife/article/details/4618772</link><guid>https://blog.csdn.net/coolmousewife/article/details/4618772</guid><author>coolmousewife</author><pubDate>Tue, 29 Sep 2009 21:53:00 +0800</pubDate><description><![CDATA[Josephus问题：设有n个人围坐在一个圆桌周围，现在从第s个人开始报数，数到第m的人出列，然后从出列的下一个人重新开始报数，数到第m的人又出列。。。。如此反复直到所有的人全部出列为止。问题是 ：任意给定n，s，m，求按出列次序输出姓名。#include #include struct Node;typedef struct Node * PNode;struct Node{ cha]]></description><category></category></item><item><title><![CDATA[C/C++中数据的存储管理 【收集+总结】]]></title><link>https://blog.csdn.net/coolmousewife/article/details/4617626</link><guid>https://blog.csdn.net/coolmousewife/article/details/4617626</guid><author>coolmousewife</author><pubDate>Tue, 29 Sep 2009 15:56:00 +0800</pubDate><description><![CDATA[先来看看全局变量和全局静态变量和局部静态变量的区别：全局变量:整个工程的所有文件的任何函数都可访问    全局静态变量:只有包含该变量的文件的任何函数都可访问,但它是静态分配内存     局部静态变量:就是只能在该函数内使用,内存也是静态分配   int   i;   //全局变量     static   int   j;   //全局静态变量     void   f()     ]]></description><category></category></item><item><title><![CDATA[mfc中句柄与指针的区别]]></title><link>https://blog.csdn.net/coolmousewife/article/details/4608922</link><guid>https://blog.csdn.net/coolmousewife/article/details/4608922</guid><author>coolmousewife</author><pubDate>Mon, 28 Sep 2009 19:59:00 +0800</pubDate><description><![CDATA[所谓句柄实际上是一个数据，是一个Long (整长型)的数据。 句柄是WONDOWS用来标识被应用程序所建立或使用的对象的唯一整数，WINDOWS使用各种各样的句柄标识诸如应用程序实例，窗口，控制，位图，GDI对象等等。WINDOWS句柄有点象C语言中的文件句柄。 从上面的定义中的我们可以看到，句柄是一个标识符，是拿来标识对象或者项目的，它就象我们的姓名一样，每个人都会有一个，不同的人的姓名]]></description><category></category></item><item><title><![CDATA[关于C中函数的可变参数va_list...（转） ]]></title><link>https://blog.csdn.net/coolmousewife/article/details/4602110</link><guid>https://blog.csdn.net/coolmousewife/article/details/4602110</guid><author>coolmousewife</author><pubDate>Sun, 27 Sep 2009 20:01:00 +0800</pubDate><description><![CDATA[◎用法:func( Type para1, Type para2, Type para3, ... ){      /****** Step 1 ******/      va_list ap;      va_start( ap, para3 ); //一定要“...”之前的那个参数          /****** Step 2 ******/      //此]]></description><category></category></item><item><title><![CDATA[浅谈C中的malloc和free]]></title><link>https://blog.csdn.net/coolmousewife/article/details/4597758</link><guid>https://blog.csdn.net/coolmousewife/article/details/4597758</guid><author>coolmousewife</author><pubDate>Sat, 26 Sep 2009 16:06:00 +0800</pubDate><description><![CDATA[在C语言的学习中，对内存管理这部分的知识掌握尤其重要！之前对C中的malloc()和free()两个函数的了解甚少，只知道大概该怎么用——就是malloc然后free就一切OK了。当然现在对这两个函数的体会也不见得多，不过对于本文章第三部分的内容倒是有了转折性的认识，所以写下这篇文章作为一个对知识的总结。这篇文章之所以命名中有个“浅谈”的字眼，也就是这个意思了！希望对大家有一点帮助！]]></description><category></category></item><item><title><![CDATA[DDX_TEXT怎么实现数据从控件到变量还是从变量到控件]]></title><link>https://blog.csdn.net/coolmousewife/article/details/4596585</link><guid>https://blog.csdn.net/coolmousewife/article/details/4596585</guid><author>coolmousewife</author><pubDate>Sat, 26 Sep 2009 10:43:00 +0800</pubDate><description><![CDATA[关键之处在于DDX_TEXT的第一个参数CDataExchange CDataExchange::CDataExchange msdn： This method constructs a CDataExchange object. CDataExchange( CWnd* pDlgWnd, BOOL bSaveAndValidate ); pDlgWnd Pointer to the pa]]></description><category></category></item><item><title><![CDATA[错误：error LNK2001: unresolved external symbol]]></title><link>https://blog.csdn.net/coolmousewife/article/details/4490036</link><guid>https://blog.csdn.net/coolmousewife/article/details/4490036</guid><author>coolmousewife</author><pubDate>Thu, 27 Aug 2009 15:18:00 +0800</pubDate><description><![CDATA[usesax.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall MySAX2Handler::startElement(unsigned short const * const,unsigned short const * const,unsigned short c]]></description><category></category></item><item><title><![CDATA[面包店算法理解]]></title><link>https://blog.csdn.net/coolmousewife/article/details/4464500</link><guid>https://blog.csdn.net/coolmousewife/article/details/4464500</guid><author>coolmousewife</author><pubDate>Wed, 19 Aug 2009 22:50:00 +0800</pubDate><description><![CDATA[boolean  choosing[n];表示进程是否在取号int  number[n];记录每个进程取到的号码这些数据结构分别初始化为false和0，为了方便，定义如下符号：若ado{    　　　　　　　　　　 choosing[i] = true;　 number[i] = max{number[0],number[1],…,number[n-1]}+1;//选号码　 cho]]></description><category></category></item><item><title><![CDATA[【操作系统概念】一书中4.6题进程同步算法的解答]]></title><link>https://blog.csdn.net/coolmousewife/article/details/4457167</link><guid>https://blog.csdn.net/coolmousewife/article/details/4457167</guid><author>coolmousewife</author><pubDate>Mon, 17 Aug 2009 23:00:00 +0800</pubDate><description><![CDATA[先理解下缓冲区中最多同时有BUFFER_SIZE-1个项的方案：感觉这个方案的算法挺经典的！！#define BUFFER_SIZE 10typedf struct{...}item;item buffer[BUFFER_SIZE];int  in=0;int  out=0;生产者进程代码：while(1){/*produce an item in ne]]></description><category></category></item><item><title><![CDATA[16位代码段和32位代码段的区别]]></title><link>https://blog.csdn.net/coolmousewife/article/details/4428253</link><guid>https://blog.csdn.net/coolmousewife/article/details/4428253</guid><author>coolmousewife</author><pubDate>Sun, 09 Aug 2009 17:50:00 +0800</pubDate><description><![CDATA[  关于16位和32位 ：涉及到寄存器的位数和段的位数。寄存器的位数就是：8086下CPU的寄存器位数是16位的；80386下CPU的寄存器位数是32位的。使用.8086伪指令将汇编语言编译成8086的指令；（默认）使用.386p伪指令将汇编语言编译成80386的指令。所以要使用32位的寄存器时，使用.386p伪指令。 而段的位数却是由段定义说明中的use16和use3]]></description><category></category></item></channel></rss>