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