在C++中,函數(shù)指針是指向函數(shù)的指針變量。定義一個函數(shù)指針的基本語法如下:
返回值類型 (*變量名)(參數(shù)列表)
以下是一個示例:
#include <iostream>
// 聲明一個函數(shù)指針類型
typedef void (*FuncPointer)(int);
// 定義一個函數(shù)
void printNumber(int num) {
std::cout << "Number: " << num << std::endl;
}
int main() {
// 定義一個函數(shù)指針變量并初始化為指向printNumber函數(shù)
FuncPointer ptr = printNumber;
// 使用函數(shù)指針調用函數(shù)
ptr(10);
return 0;
}
在上述示例中,我們首先聲明了一個函數(shù)指針類型FuncPointer
,它指向一個參數(shù)為int
類型、返回值為void
的函數(shù)。然后定義了一個printNumber
函數(shù),接著在main
函數(shù)中,我們定義了一個函數(shù)指針變量ptr
并將其初始化為指向printNumber
函數(shù)。最后,通過調用函數(shù)指針來調用函數(shù)。
需要注意的是,函數(shù)指針的類型必須與所指向函數(shù)的類型匹配,包括參數(shù)列表和返回值類型。另外,使用函數(shù)指針調用函數(shù)時,可以像調用普通函數(shù)一樣使用函數(shù)名加上參數(shù)列表,也可以直接使用函數(shù)指針變量加上參數(shù)列表。