在回調函數中,經常需要將函數的指針類型作為參數傳入到回調函數中,在回調函數中執行指針函數。
指針函數的組成如下圖所示:
當typedef去掉時,pFunc就是一個函數指針變量。
常規的定義方法如下:
#include <string> using namespace std; //函數指針類型定義 typedef int (*pFunc)(int, int); int add(int a, int b) { return a+b; } int main(int argc, char *argv[]) { pFunc pAdd = add; cout << pAdd(3, 5) << endl; return 0; }
也可以如下定義:
#include <string> using namespace std;
//重定義一個函數原型 typedef int func(int, int); //重定向函數原型指針為函數指針類型 typedef func* pFunc; int add(int a, int b) { return a+b; }
int main(int argc, char *argv[])
{
pFunc pAdd = add; cout << pAdd(3, 5) << endl; return 0; }
如需轉載,請標明出處,謝謝