引用一个对象实例和该对象的实例方法。在 C 或 C 中与委托最接近的是函数指针,但函数指针只能引用静态函数,而委托可以同时引用静态方法和实例方法。在后一种情况中,委托不仅存储对方法入口点的引用,还存储对调用其方法的对象的引用。与 C 函数指针不同,委托是完全面对对象的;与指向成员函数的 C 指针不同,委托同时封装对象实例和方法。委托声明定义从类 System.Delegate 派生的类。委托实例封装一个或多个方法,每个方法都被称为可调用实体。对于实例方法,可调用实体由一个实例和该实例上的方法组
指向类的成员的指针 在C++中,可以说明指向类的数据成员和成员函数的指针。 指向数据成员的指针格式如下: ::* 指向成员函数的指针格式如下: (::*)() 例如,设有如下一个类A: class A { public: int fun (int b) { return a*c+b; } A(int i) { a=i; } int c; private: int a; }; 定义一个指向类A的数据成员c的指针pc,其格式如下: int A:: *pc = &A::c; 再定义一个指向类A的成员
第一部分 Linux基础篇 第1章 Linux编程平台 2 本章讲述了Red Hat Linux 9.0的安装、VMware虚拟机的使用、简单C程序的编写等问题。其中需要重点理解的是Linux系统分区的问题。在分区时需要正确设置各个分区的格式,正确将分区挂载到系统中,并处理好与Windows系统的引导问题。通过C程序实例的练习,可以初步了解Linux系统下C程序的编程过程。 1.1 Linux发行版的介绍 2 1.1.1 Red Hat Linux 2 1.1.2 Debian Linux 2
第一部分 Linux基础篇 第1章 Linux编程平台 2 本章讲述了Red Hat Linux 9.0的安装、VMware虚拟机的使用、简单C程序的编写等问题。其中需要重点理解的是Linux系统分区的问题。在分区时需要正确设置各个分区的格式,正确将分区挂载到系统中,并处理好与Windows系统的引导问题。通过C程序实例的练习,可以初步了解Linux系统下C程序的编程过程。 1.1 Linux发行版的介绍 2 1.1.1 Red Hat Linux 2 1.1.2 Debian Linux 2
函数指针
最近看android camera 的source ,发现大量的call back ,多线程,有必要对其中的基础 :函数指针复习一下,觉得函数指针主要还是用在call back 函数,以及多线程多进程编程中。函数在被编译器编译后就是一段二进制码,而这段二进制码有一个入口地址,而这个入口地址就是函数指针的值了。
首先看函数指针的语法,举一个最简单的例子,要创建一个函数指针,则它与它指向的函数,在参数个数类型以及返回值上都保持一致,跟重载的要求应该是一样的。Int a(int a ) {r