c 傳遞函式引數

2022-07-19 08:39:16 字數 707 閱讀 3983

傳遞普通函式和類的成員函式方式不同,原因是傳遞函式引數實際傳的是函式的位址,但是普通函式和成員函式的位址獲取方式不太相同。普通函式只要傳遞乙個函式名稱即可,但是成員函式在類的內部中沒有位址,選擇乙個成員函式就意味著得知道該函式在類中的偏移量,因此需要知道該物件和對應的偏移量,才能得到真實的位址。當然,你也可以將成員函式設定為靜態函式(static)來當作普通函式來看待。

由於處理方式不同,所以可以採用函式過載的方式。由於每次傳的物件型別可能不同,所以採用template。

**如下:

1 #include;

2using

namespace

std;

3class

abc ;89

void abc::f1(int n, int

b) 12

13void abc::f2(int

n) 16

17void f(int

n) 20

//normal function

21void cb(void(*callback)(int), int

n) 24

//member function

25 template

26void cb(t *obj, void (t::*callback)(int), int

n) 29

int main(void

)

用引用傳遞函式引數

1 引用傳遞引數 傳遞引用給函式與傳遞指標的效果一樣,傳遞的是原來的變數或物件,而不是在函式作用域內建立變數或物件的副本。在8 6節中,我們看到對swap int,int 傳值方式函式的呼叫不影響呼叫函式中的實參,結果並未達到交換資料的預想目的。使用指標傳遞方式的swap int int 函式的呼叫...

R 引數傳遞函式 getopt

getopt 是getopt包的函式,需要先按照getopt包 getopt spec null,opt commandargs true command get rscript filename usage false,debug false spec 乙個4或5列的矩陣,裡面包括了引數資訊,前四...

如何傳遞函式

摘自 非同步 庫提供了一些函式,這些函式使您可以在元件之間傳遞訊息。這些訊息傳遞函式與各種訊息塊型別一起使用。有關併發執行時所定義的訊息塊型別的更多資訊,請參見非同步訊息塊。各節內容 本主題描述以下訊息傳遞函式 send 和 asend concurrency send 函式一條訊息傳送到指定目標同...