函数指针
实际上使用最多的还是指针函数,但我们还是可以先看看函数指针
奇怪的是,大家搜索指针函数,或者Pointer function,出来的还是函数指针的链接。
OK,废话不多说,先给大家举个例子。
char* func1(char * p)
{
cout << p << endl;
return p;
}
简单的理解,实际上就是一个返回(char*)类型的一个指针。
我们看看简单应用:
int _tmain(int argc, _TCHAR* argv[])
{
char* p = func1("123");
cout<<p<<endl;
}
正确的输出结果为:
123
123
好的,大家知道什么是指针函数了?我们可以加大力度了
typedef大家都用过,但是大家有定义过指针函数吗?比如这样的:
typedef char* pFunc(char *p);
一反常态,这样的typedef在初始化的时候,要像下面这样定义:
pFunc(*c);
c = func1;
c("123");
OK,再给大家进阶一下,定义一个数组形式的。
pFunc(*pf[3]);
pf[0] = func1;
pf[1] = &func1;
pf[2] = **********func1;
pf[0]("pf0");
pf[1]("pf1");
pf[2]("pf1");
输出结果是:
pf0
pf1
pf2