Posts
All the articles I've posted.
设计模式-抽象工厂模式
Published: at 05:52 AMwiki上的抽象工厂模式讲的蛮好的,尤其是例子选的很好。 抽象工厂模式(英语:Abstract Factory)是一种常见的设计模式。此模式为一个产品家族提供了统一的创建接口。当需要这个产品家族的某一系列的时候,可以从抽象工厂中选出相对系的系列来创建一个具体的工厂类别。 假设我...
静态库(lib)的编写与调用
Published: at 05:37 AM静态库的编写: 新建一个Win32 Console Project命名为LibAdd, Application type选中Static library(可以去掉Precompiled header的勾选), 然后点finish; 增加一个头文件LibAdd.h和一个源文件LibAdd.cpp, 内容如下: // LibAdd.h ifndef ADDH define ADD...
WebBrowser控件判断页面加载完毕
Published: at 05:35 AM大家都知道DWebBrowserEvents2 Members的DocumentComplete(Fires when a document is completely loaded and initialized)成员的作用。但是实际上直接在它里面处理加载完成后的事件是不行的, 我们还需要做一些处理才行。直接看代码: //CComPtr<IWebBrowser2> mspWeb...
设计模式-简单工厂模式
Published: at 05:34 AM工厂方法模式 是一种面向对象的设计模式。通过调用不同的方法返回需要的类,而不是去实例化具体的类。 对实例创建进行了包装。 工厂方法是一组方法, 他们针对不同条件返回不同的类实例,这些类一般有共同的父类。 工厂方法模式实施一种按需分配的策略, 即传入参数进行选择,...
设计模式-单例模式
Published: at 05:31 AM单例模式,也叫单子模式,是一种常用的软件设计模式。在应用这个模式时,单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个...
内存对齐 - 求结构体大小
Published: at 05:26 AM内存对齐的原因 大部分的参考资料都是如是说的: 平台原因(移植原因):不是所有的硬件平台都能访问任意地址上的任意数据的;某些硬件平台只能在某些地址处取某些特定类型的数据,否则抛出硬件异常。 性能原因:数据结构(尤其是栈)应该尽可能地在自然边界上对齐。原因在于...
STL 学习资料
Published: at 05:19 AM收集的一些STL的学习资料: 什么是STL? STL(Standard Template Library),即标准模板库,是一个具有工业强度的,高效的C++程序库。它被容纳于 C++标准程序库(C++ Standard Library)中,是ANSI/ISO C++标准中最新的也是极具革命性的一部分。该库 包含了诸多在计算机科学领域...
windows下进程间通信方式介绍
Published: at 05:09 AM摘 要 随着人们对应用程序的要求越来越高,单进程应用在许多场合已不能满足人们的要求。编写多进程/多线程程序成为现代程序设计的一个重要特点,在多进程程序设计中,进程间的通信是不可避免的。Microsoft Win32 API提供了多种进程间通信的方法,全面地阐述了这些方法的特点,并...
表驱动法介绍 (简单易懂)
Published: at 04:59 AM函数指针的使用其实是很灵活的,它有很多技巧性很高的应用,在表驱动方法中的应用很典型,这里着重介绍一下。 什么是表驱动方法 表是几乎所有数据结构课本都要讨论的非常有用的数据结构。表驱动方法出于特定的目的来使用表,下面将对此进行讨论。 程序员们经常谈到"表驱动...
SOCKET中宽字符问题
Published: at 04:36 AM今天正在看孙鑫老师vc++16课的一个聊天程序视频教程,按照上面做了一下但遇到两个小的问题,最后解决了所以记录下。 当你的编译器用的是unicode字符集的话就会出现我遇到的这两个问题。 从ip地址控件上获取的值经过inetntoa转换为网络字节序后在接收端显示的时候是乱码...