2011年8月1日
摘要: 函数指针中需要注意如下几点:1)函数运算符(),数组运算符[]优先级高于指针运算符*。所以int *fn(); 表示 一个返回值为int *的函数int (*fn)() 表示返回值为int的函数指针。2)类成员函数函数指针表示方法:void (A::*fn)();即用ClassName::*来代替*其他的和普通的函数指针一样。 阅读全文
posted @ 2011-08-01 22:52 漫步沙洲中 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 我们定义了一个类,里面有很多方法,我们调用的其中某个方法,如何确定调用了哪些方法呢?首先,我们知道函数查找的顺序如下:1)查找函数的名字2)从中找出最佳匹配。3)检查是否具有该函数的访问权限4)实参相依原则:根据实参的类型,自动进入相应的命名空间、类内部进行查找。增加一条:派生类成员按名字隐藏掉基类成员class Base {public: virtual void f(int x);};class Derived: public Base {public: virtual void f(double *pd);};Derived *pd = new Derived;pd->f(10); 阅读全文
posted @ 2011-08-01 22:41 漫步沙洲中 阅读(831) 评论(0) 推荐(0) 编辑
  2010年12月11日
摘要: 网上已经有了许多关于CppUnit的使用说明,我再次“重复”,是为了方便自己以后回忆,同时加深印象。这里要谈的是,作为一个初学者,怎么样使用CppUnit,而不是去解读其内部的代码,同时也有一些自己的使用心得。好了,进入正题。 首先,我简单介绍一下背景:随着开发经验的增加,越来越体会到测试代码的重要性,而这些针对性很强的测试代码主要是单元测试(UT),如何管理这些代码就显得很重要。假如没有一个测试框架的帮助,我们要知道这些测试用例那些失败了,那些成功了,是需要花费很多功夫的。而CppUnit就很好的替我们完成了这部分的工作,我们只需要设计测试用例,然后其他的用CppUnit就可以很方便的实现了 阅读全文
posted @ 2010-12-11 16:43 漫步沙洲中 阅读(1337) 评论(0) 推荐(0) 编辑
  2010年10月19日
摘要: 这个模式的目的就是为了让逻辑与具体实现单独演化。逻辑层通过初始化一个实际实现的实例,然后采用委托机制来实现逻辑这边的功能。 阅读全文
posted @ 2010-10-19 13:17 漫步沙洲中 阅读(229) 评论(1) 推荐(0) 编辑
摘要: 我们都知道C++语言兼容C语言,那么C++调用C语言库,为什么为什么需要 extern "C"的帮助?答案就是C++语言为了支持重构(重构的特征:相同的范围、相同的名字、不同的参数),在编译时对函数的命名方式进行了改变,编译后的名字包括一些参数的信息,这样才能在调用函数的时候对号入座。那么extern "C"的作用,就是“提示”(为什么说提示,而不是“命令&r... 阅读全文
posted @ 2010-10-19 13:02 漫步沙洲中 阅读(10349) 评论(0) 推荐(0) 编辑
  2010年8月18日
摘要: 前段时间,做课程设计,题目是:Windows平台下内存泄露的检测。下面就摘抄其中的一部分,作为博客的内容,以供自己日后参考。 这里顺便谈一下new[]、new delete[]、delete之间的区别于连续 其中 operatornew[]和Operator delete[] 是通过调用operator new和Operator delete来实现的,而且完全一样(就是说所分配、释放内存时的... 阅读全文
posted @ 2010-08-18 16:53 漫步沙洲中 阅读(1131) 评论(0) 推荐(1) 编辑
  2010年6月1日
摘要: 1. 意图提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。即它是用来创建一系统相关或相互依赖的对象:如窗口上的scroll bar和边框等。它可以用工厂方法或者原型方法来实现。具体内容待原型方法总结后给以补充。 阅读全文
posted @ 2010-06-01 14:34 漫步沙洲中 阅读(177) 评论(0) 推荐(0) 编辑
摘要: Factory Methory1. 意图定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method使一个类的实例化延迟到其子类。怎么理解呢?1)工厂("Factory")就是用来“Create Product”的,所以它需要定义一个用于Create Object的接口。 还记得面向对象设计的原则不,我们的编程对象是接口,而不是具体实现。2)我们用子类... 阅读全文
posted @ 2010-06-01 14:22 漫步沙洲中 阅读(418) 评论(0) 推荐(1) 编辑
  2010年5月18日
摘要: 这段时间开发,需要对XML文件进行解析,读取。特对MSXML2的工作流程做一个总结、记忆。 当然,一般用智能指针CComPtr和CComBSTR来封装COM接口指针和BSTR字串。 废话:MSXML是一套微软提供的COM接口。包括如下接口: 1: IXMLDOMDocument:一般用智能指针CComPtr<> 它是整个文档层次接口,用于获取MSXML服务的实例。可以用如下方式获... 阅读全文
posted @ 2010-05-18 22:52 漫步沙洲中 阅读(6575) 评论(1) 推荐(1) 编辑
  2010年5月9日
摘要: MSDN中的解释:size_t unsigned integerResult of sizeof operator. 也就是说size_t是unsigned integer即无符号整数。那为什么会有size_t这个类型呢?因为不同平台的操作系统(32/64)中int/long等类型所占的字节并不一样,而size_t在不同的平台下有不同的定义。有点类似于TCHAR#ifndef _SIZE_T_D... 阅读全文
posted @ 2010-05-09 22:37 漫步沙洲中 阅读(1087) 评论(0) 推荐(0) 编辑