鄙人看《C++ Primer》,看到函数一章,感觉内容甚多,其中函数指针尤为吃力,特发帖讨教一二。
Page238,指向函数的指针
bool (*pf)(const string &, const string &)
问题一:
这是否相当于一种数据类型?如果,我们不用typedef来简化的话,每次定义一个函数指针,都要用如下的方式来:
bool (*pf)(const string &, const string &) pf1 =0;
这里,变量是pf1,而前面的都是表示一种类型么?
问题二:Page 238
如果上面的理解没有错,那么返回指向函数的指针,这里就看的和浆糊一样。
函数可以返回指向函数的指针,但是,正确写出这种返回类型相当不容易:
int (*ff(int))(int *, int);
这是否也算是函数的返回类型?还是是一个返回指向函数的指针的函数声明?
typedef int (*PF)(int *, int);
PF ff(int);
这是书上的一个例子,说用typedef来简化,可以使定义更简明易懂,可是,看起来却更让人费劲。
请高人指点一二!