C++函式指標的使用和好處
阿新 • • 發佈:2018-12-21
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. 使用函式指標的原因及好處:
有的通用函式中要涉用到另一個函式,但函式名稱未定,是讓使用者編的,
當然要做成函式指標,
如果通用定積分計算,被計算函式是待定的,是由呼叫者確定的函式;
通用排序函式也是,比較函式與交換函式也是讓使用者自已編的,
這也得是函式指標