c++函数指针

函数指针是指向函数而非指向对象的指针。像其余指针同样,函数指针也指向某个特定的类型。函数类型是由其返回类型及其形参表肯定,而与函数名无关。函数

eg:指针

bool (*pf)(int);将pf声明为指向函数的指针,它所指向的的函数带有一个int类型的形参和bool类型的返回值对象

1,利用typedef简化函数指针的定义it

typedef bool (*cpmFun)(int);引用

该定义表示cmpFun是一种指向函数指针类型的名字。要使用这种函数指针类型是,只须要使用cmpFun便可,不用写完整定义。vi

2,指向函数指针的初始化和赋值

在引用函数名有没有调用该函数是,函数名被自动解释为指向该函数的指针。

初始化:

cmpFun pf1 = 0;  //不绑定函数给此函数指针;

cmpFun pf2 = visit;  //将符合此类型的visit函数绑定给此函数指针

cmpFun pf3 = &visit //直接引用函数名等效于在函数名上应用取地址操做符

赋值

pf2 = pf1;

3,经过指针调用函数

cmpFun pf = visit;

visit(1);

pf(1); //pf隐式间接调用visit

(*pf)(1); //pf显示间接调用visit

相关文章
相关标签/搜索