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;
}
自己覺得返回指向函數的指針的用途就是在一個函數結束的時候調用另外一個函數,真心覺得很蛋疼~