1. 程式人生 > >C++函式指標的使用和好處

C++函式指標的使用和好處

1. 簡單使用

#include <iostream>
#include <string>
using namespace std;

void func(string s)
{
    cout << s << endl;
}

void (*pFunc)(string s);    // 不能夠寫成 void *pFunc(string s); 

int main()
{
    func("Original Function : 1st circumstance!");
    (*func)("Original Function : 2nd circumstance!"
); pFunc = &func; (*pFunc)("Function pointer : 1st circumstance!"); pFunc("Function pointer : 2nd circumstance!"); pFunc = func; (*pFunc)("Function pointer : 3rd circumstance!"); pFunc("Function pointer : 4th circumstance!"); return 0; }

2 . 型別定義

#include <iostream>
using namespace std; typedef void(*pFunc)(); void myFunc() { cout << "Hello World!" << endl; } int main() { pFunc func; func = &myFunc; func(); return 0; }

3. 使用函式指標的原因及好處:

有的通用函式中要涉用到另一個函式,但函式名稱未定,是讓使用者編的,
當然要做成函式指標,
如果通用定積分計算,被計算函式是待定的,是由呼叫者確定的函式;
通用排序函式也是,比較函式與交換函式也是讓使用者自已編的,
這也得是函式指標