摘要: 《慢慢啃》 2011.11.29函数指针 函数指针是指向函数的指针变量。 因而“函数指针”本身首先应是指针变量,只不过该指针变量指向函数。这正如用指针变量可指向整型变量、字符型、数组一样,这里是指向函数。 如前所述,C在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。有了指向函数的指针变量后,可用该指针变量调用函数,就如同用 指针变量可引用其他类型变量一样,在这些概念上一致的。函数指针有两个用途:调用函数和做函数的参数。函数指针的说明方法为: 数据类型标志符 (指针变量名)(形参列表); 注1:“函数类型”说明函数的返回类型,由于“()”的优先级高于“*”,所以... 阅读全文
posted @ 2011-11-30 16:55 kanego 阅读(1410) 评论(0) 推荐(0) 编辑
摘要: CALLBACK函数要声明称 static或全局,而在静态的函数中药调用非静态成员还不能调用,必须把这些成员也设置成静态的,不怎么方便,有好的解决方法吗。其原因是把CALLBACK函数封装成C++类的非静态成员后,需要有建立对象,再通过对象才能去找到这个成员函数。而系统调用这个CALLBACK函数的时候,才不管你有没有建立对象呢。典型的解决方法是需要用静态成员函数给系统CALL。然后设法把THIS指针传给这个STATIC函数,让这个STATIC函数通过THIS指针访问到当前对象里的成员函数,那么这个成员函数就可以轻松操作所有成员变量了。这种方法适用于所有系统CALLBACK。以CreateTh 阅读全文
posted @ 2011-11-30 10:38 kanego 阅读(909) 评论(0) 推荐(1) 编辑
摘要: 读起C++对象模型,有点吃力。真的很吃力。。P140C++支持三种类型的成员函数:static,nonstatic,virtual.P141C++的设计准则之一就是:nonstaic member function至少必须和一般的nonmember function有相同的效率。在设计上为了支持这一准则,编译器内部已将"member 函数实体"转换为对等的"nonmember 函数实体"。下面是转化的步骤1. 改写函数的signature(意指函数原型)以安插一个额外的参数到member function中,用以提供一个存取管道,使class objec 阅读全文
posted @ 2011-11-30 09:44 kanego 阅读(458) 评论(0) 推荐(0) 编辑