文章分类 -  C/C++

C/C++ 编程技术
摘要:第一种方式是MFC里使用广泛的宏:#define OFFSET(structure, member) ((int)&((structure*)0)->member); 正如我们平时通过某对象的地址指针访问某个成员变量一样,这里只是强制使用0作为该地址,但区别是并没有通过该地址去访问成员变量,而只是用&操作符来获取该成员变量的地址,所以不会出现访问违规的情况。所以,完全可以用此类声明一个对象,然后用该对象某成员变量地址减去该对象首地址获取偏移量,只是纯虚类无法这样实现。 另一种方式是通过域操作符取成员变量的地址。例如一个类Test有int 型成员变量x,则可以通过int T 阅读全文
posted @ 2009-02-11 09:36 渡己 阅读(490) 评论(0) 推荐(0)
摘要:## 连接符号由两个井号组成,其功能是在带参数的宏定义中将两个子串(token)联接起来,从而形成一个新的子串。但它不可以是第一个或者最后一个子串。所谓的子串(token)就是指编译器能够识别的最小语法单元... 阅读全文
posted @ 2009-01-07 20:35 渡己 阅读(226) 评论(0) 推荐(0)
摘要:面向对象的语言里面,出现了类的概念。这是编程思想的一种进化。所谓类:是对特定数据的特定操作的集合体。所以说类包含了两个范畴:数据和操作。而C语言中的struct仅仅是数据的集合 ... 阅读全文
posted @ 2008-07-01 12:53 渡己 阅读(253) 评论(1) 推荐(0)
摘要:相信很多人都看过设计模式方面的书,大家有什么体会呢?Bridge,Proxy,Factory这些设计模式都是基于抽象类的。使用抽象对象是这里的一个核心... 阅读全文
posted @ 2008-07-01 12:51 渡己 阅读(211) 评论(0) 推荐(0)