C++ Function Pointer用法及代碼示例- 純淨天空
文章推薦指數: 80 %
C++ Function Pointer用法及代碼示例. 我們知道指針是用來指向一些變量的;類似地,函數指針是用於指向函數的指針。
它本質上用於存儲函數的地址。
當前位置:首頁>>代碼示例
>>用法及示例精選
>>正文
我們知道指針是用來指向一些變量的;類似地,函數指針是用於指向函數的指針。
它本質上用於存儲函數的地址。
我們可以通過使用函數指針來調用函數,也可以將指針作為參數傳遞給另一個函數。
它們主要用於event-driven應用程序、回調,甚至用於將函數存儲在數組中。
函數的地址是什麽?
計算機隻理解低級語言,即二進製形式。
我們用C++編寫的程序總是用高級語言編寫的,所以為了將程序轉換成二進製形式,我們使用編譯器。
編譯器是將源代碼轉換為可執行文件的程序。
此可執行文件存儲在RAM中。
CPU從main()方法開始執行,它讀取RAM中的副本而不是原始文件。
所有的函數和機器碼指令都是數據。
這個數據是一堆字節,所有這些字節在RAM中都有一些地址。
函數指針包含函數第一條指令的RAM地址。
聲明的語法
以下是函數指針聲明的語法:
int(*FuncPtr)(int,int);
上麵的語法是函數聲明。
由於函數並不像變量那樣簡單,但C++是類型安全的,因此函數指針具有返回類型和參數列表。
在上麵的語法中,我們首先提供返回類型,然後是指針的名稱,即FuncPtr,它被方括號包圍,前麵是指針符號,即(*)。
在此之後,我們提供了參數列表(int,int)。
上麵的函數指針可以指向任何接受兩個整數參數並返回整數類型值的函數。
函數地址
我們可以很容易地得到一個函數的地址。
我們隻需要提到函數的名字,我們不需要調用函數。
讓我們通過一個例子來說明。
#include
usingnamespacestd;
voidfunc1()
{
cout<
延伸文章資訊
- 1C++ 指標常見用法小結 - 程式人生
常量指標(const pointer)是說這個指標本身就是一個常量物件,所以它不能指向其他物件,但是不意味著它不能改變所指向物件的值。 int num=9;int *const ...
- 2第5章、陣列和指標 - C/C++
對於非資訊專業的科學計算或工程應用人員,可能會覺得指標的用法難以掌握,甚至在 ... 指標(pointer)是一種用來指示資料存在於記憶體中的位址標示器,其宣告方式為資料 ...
- 3C++ Function Pointer用法及代碼示例- 純淨天空
C++ Function Pointer用法及代碼示例. 我們知道指針是用來指向一些變量的;類似地,函數指針是用於指向函數的指針。它本質上用於存儲函數的地址。
- 4C語言: 超好懂的指標,初學者請進~ - 寫點科普Kopuchat
- 5C++ 入門指南- 單元4 - 指標與參考 - 程式語言教學誌
本篇文章介紹C++ 的單元4 - 指標與參考。 ... 指標(pointer) 儲存變數(variable) 的記憶體位址(address) ,參考(reference) 則是變數 ... 不過...