C++中,函數(shù)指針的定義方法如下:
定義函數(shù)指針類型:typedef returnType (*functionPtrType)(parameterType1, parameterType2, ...);
returnType
為函數(shù)返回值的類型。functionPtrType
為函數(shù)指針類型的名稱,可以根據(jù)需要自定義。parameterType1, parameterType2, ...
為函數(shù)的參數(shù)類型。聲明函數(shù)指針變量:functionPtrType functionNamePtr;
functionNamePtr
為函數(shù)指針變量的名稱,可以根據(jù)需要自定義。例如,定義一個(gè)函數(shù)指針類型為void(*)(int, int)
,表示指向參數(shù)為兩個(gè)int
類型,返回類型為void
的函數(shù)指針。然后聲明一個(gè)名為add
的函數(shù)指針變量,可以這樣寫:
typedef void (*functionPtrType)(int, int);
functionPtrType addPtr;
void add(int a, int b) {
std::cout << a + b << std::endl;
}
int main() {
addPtr = add; // 將函數(shù)地址賦給函數(shù)指針變量
addPtr(2, 3); // 等同于調(diào)用add(2, 3)
return 0;
}
輸出結(jié)果為5
。在上述例子中,addPtr
指向了add
函數(shù),并通過函數(shù)指針調(diào)用了該函數(shù)。