函數指針作為類型的定義


   在回調函數中,經常需要將函數的指針類型作為參數傳入到回調函數中,在回調函數中執行指針函數。

   指針函數的組成如下圖所示:

    

    當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; }

 

   如需轉載,請標明出處,謝謝


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM