先上实例,再作分析#include void myfun(void);int main(void){ void (*pf)(void); pf = myfun; /* 也可以这样赋值:pf = &myfun; 其道理同下*/ (*pf)(); pf();...
分类:
其他好文 时间:
2014-09-13 17:14:15
阅读次数:
131
关于OC中的消息转发机制想必大家都很了解,现在来温习一下:
一、什么是消息转发?
@selector 是什么?
1一种类型 SEL
2代表你要发送的消息(方法), 跟字符串有点像, 也可以互转.: NSSelectorFromString() / NSSelectorFromString()
3可以理解为类似函数指针的东西--是能让Objective-C动态调用方...
分类:
其他好文 时间:
2014-09-11 09:39:21
阅读次数:
328
回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。意义因为可以把调用者与被调用者分开...
分类:
其他好文 时间:
2014-09-10 17:36:00
阅读次数:
130
函数指针是指向函数的指针变量。 因而“函数指针”本身首先应是指针变量,只不过该指针变量指向函数。这正如用指针变量可指向整型变量、字符型、数组一样,这里是指向函数。如前所述,C在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。有了指向函数的指针变量后,可用该指针变量调用函数,就...
分类:
其他好文 时间:
2014-09-10 17:30:20
阅读次数:
313
今天在看redis源码的时候发现这样的一种函数定义方法,就是将函数作为类型来定义,然后在结构体当中使用 typedef void aeFileProc(struct aeEventLoop *eventLoop, int fd, void *clientData, int mask); typ...
分类:
其他好文 时间:
2014-09-10 13:55:30
阅读次数:
259
一直不明白形参里什么时候用引用,什么时候不用引用。今天去查了一下:引用的好处: 1.向函数传递较大的对象时,需要使用引用形参,比如string这种不知道会有多大的类型; 2.如果要改变实参的值,引用用起来方便,可以回想一下学引用的第一个例子swap函数,比指针方便多了;其次,如果不想改变实参的值.....
分类:
其他好文 时间:
2014-09-09 22:44:59
阅读次数:
250
int f(int); //函数声明int (*pf) = &f; /*函数指针初始化 其中&符号时可选的,因为函数名被使用时总是由编译器转换为函数指针*///函数指针声明并初始化后, 可以用3中方法调用int ans;ans = f(3);ans = pf(3);a...
分类:
其他好文 时间:
2014-09-09 15:32:38
阅读次数:
175
1.简单的函数指针的应用形式1:返回类型(*函数名)(參数表)char (*pFun)(int); char glFun(int a){ return;} void main() { pFun = glFun; (*pFun)(2); } 第一行定义了一个指针变量pFun。首先...
分类:
其他好文 时间:
2014-09-09 11:11:48
阅读次数:
171
类成员函数指针:用于访问类成员函数,和一般函数指针有区别。类成员函数处理的是类数据成员,声明类成员函数指针的同时,还要指出具体是哪个类的函数指针才可以。调用时也要通过对象调用。而对于类的静态成员函数,它是类对象共享的,且只能处理静态数据成员,所以它的函数指针可以类似一般函数指针一样使用。 1 cla...
分类:
编程语言 时间:
2014-09-06 18:33:23
阅读次数:
166