int *p() 定义一个函数,该函数返回一个指向整型元素的指针变量
int (*p)() 指向函数的指针,该函数返回一个整型值
在C++ primer 238页中出现的int(*ff(int))(int*,int) ,解释为:
ff(int)是一个函数,带有一个int型的形参,所以,这个首先是一个函数。如下面例子中的int (*funOne(int number))(int a, int b)的funOne(int number).
其返回的使int (*)(int*,int)的函数指针,这个函数指针如下文中的int funtwo(int a,int b),funtwo本身就是一个指针。
#include <iostream>
using namespace std;
int funTwo(int a, int b)
{
return a * b;
}
// funOne是一个函数,带有一个int型参数,它返回一个指向函数的指针
// 这个指向函数的指针指向一个返回int型,并带有两个int型的形参的函数
int (*funOne(int number))(int a, int b)
{
cout<<number<<endl;
return funTwo;
}
int main()
{
cout<<funOne(5)(3, 10)<<endl; ;
return 0;
}
自己觉得返回指向函数的指针的用途就是在一个函数结束的时候调用另外一个函数,真心觉得很蛋疼~