程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> 回調函數在C/C++中的使用

回調函數在C/C++中的使用

編輯:關於C++

回調函數就是一個通過函數指針調用的函數。假如把A函數的指針當作參數傳給B函數,然後在B函數中通過A函數傳進來的這個指針調用A函數,那麼就是回調機制。A函數就是回調函數,而通常情況下,A函數是在系統符合你設定的條件下自動執行。

使用回調函數可以改善軟件的結構,提供軟件的復用性。

函數指針是一個指針,只是這個指針不像普通的指針指向一個變量,此時它指向的是一個函數,也就是它存儲的是一個函數的指針。

C++的類成員函數不能像普通函數那樣用於回調,因為每個成員函數都需要有一個對象實例去調用它。通常情況下,要實現成員函數作為回調函數,一種常用的方法就是把該成員函數設計為靜態成員函數。

 

#include 

typedef int(*Fun11)(int, int);
typedef float(*Fun12)(float, float);

int min(int a, int b)
{
	return a < b ? a : b;;
}

float max(float a, float b)
{
	return a > b ? a : b;
}

int test1()
{
	Fun11 pFun1 = NULL;
	pFun1 = &min;
	int ret1 = pFun1(-1, 2);
	std::cout<registerProc((Fun2)display, this);
		}
	}

	~CallBack() {}

	static void display(void* _this = NULL)
	{
		if (!_this) {
			return;
		}

		CallBack* pc = (CallBack*)_this;
		pc->a++;
		std::cout<a<doCallBack();

	return 0;
}

void callback31() 
{ 
	std::cout<

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved