首頁  >  文章  >  後端開發  >  函數指標在 C++ 中如何運作?

函數指標在 C++ 中如何運作?

PHPz
PHPz原創
2024-06-04 17:37:10793瀏覽

在 C++ 中,函數指標是指向函數的變量,能動態地將函數傳遞或儲存為參數。其語法為:型別名稱 * 函數名稱。分配時,使用函數指標位址,呼叫時解引用它。例如,使用函數指標計算最大值時,透過分配函數指標並呼叫它進行計算。

函数指针在 C++ 中如何工作?

C++ 中函數指標的工作原理

在 C++ 中,函數指標是指向函數的變數。它允許我們動態地將函數作為參數傳遞或儲存在資料結構中。

語法

函數指標的宣告類似於常規函數,但類型名稱後面跟著一個星號(*):

typedef void (*FunctionPointer)(int);

分配

我們可以像普通指標一樣為函數指標指派函數位址:

FunctionPointer fp = &myFunction;

呼叫

我們可以透過解引用函數指標來呼叫它:

fp(10);

實戰案例

#讓我們考慮一個使用函數指標計算兩個數字最大值的程式:

#include <iostream>

using namespace std;

// 最大值函数
int max(int a, int b) {
  return a > b ? a : b;
}

// 函数指针比较函数
int compare(int a, int b, int (*fp)(int, int)) {
  return fp(a, b);
}

int main() {
  // 分配函数指针并调用它来计算两数的最大值
  int (*fp)(int, int) = &max;
  int result = compare(5, 10, fp);

  // 打印结果
  cout << "最大值:" << result << endl;

  return 0;
}

以上是函數指標在 C++ 中如何運作?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn