boost bind引數例子使用

2021-07-01 19:25:58 字數 2355 閱讀 6727

bind並不是乙個單獨的類或函式,而是非常龐大的家族,依據繫結的引數個數和要繫結的呼叫物件型別,總共有十個不同的形式,但它們的名字都叫bind.

bind接受的第乙個引數必須是乙個可呼叫物件f,包括函式,函式指標,函式物件和成員函式,之後bind接受最多9個引數,引數的數量必須與f的引數數量相等

_1,_2這些一直可以到9,是佔位符,必須在繫結表示式中提供函式要求的所有引數,無論是真實引數還是佔位符均可以。佔位符不可以超過函式引數數量。

繫結普通函式:

#include

#include

using

namespacestd;   

using

namespaceboost;   

voidfun(inta,intb)   

intmain()   

3   

3   

3   

4   4

#include#includeusing namespace std;

using namespace boost;

void fun(int a,int b)

int main()33

344

繫結成員函式:

#include

#include

#include

#include

using

namespaceboost;   

using

namespacestd;   

structpoint   

voidprint()   

voidsetx(inta)   

voidsetxy(intx,inty)   

voidsetxyz(intx,inty,intz)   

};   

intmain()   

setx:10   

setx:10,sety:20   

setx:10,sety:20setz:30   

(0,0)   

(0,0)   

(0,0)   

(0,0)   

(0,0)   

(0,0)   

(0,0)   

(0,0)   

(0,0)   

(0,0)   

setx:10   

setx:10   

setx:10   

setx:10   

setx:10   

setx:10   

setx:10   

setx:10   

setx:10   

setx:10   

setx:10,sety:20   

setx:10,sety:20   

setx:10,sety:20   

setx:10,sety:20   

setx:10,sety:20   

setx:10,sety:20   

setx:10,sety:20   

setx:10,sety:20   

setx:10,sety:20   

setx:10,sety:20   

setx:10,sety:20setz:30   

setx:10,sety:20setz:30   

setx:10,sety:20setz:30   

setx:10,sety:20setz:30   

setx:10,sety:20setz:30   

setx:10,sety:20setz:30   

setx:10,sety:20setz:30   

setx:10,sety:20setz:30   

setx:10,sety:20setz:30   

setx:10,sety:20setz:30 

creatprocess 傳入引數例子

procedure tmainform.test varupdatefilepath string si startupinfo pi process information begin updatefilepath c a b c.exe zeromemory si,sizeof startupi...

字元函式例子

要查詢以某個字結尾等於什麼的記錄 select from vehicle 車牌號以7結尾的資料記錄 select from vehicle t where trim t.veh no like 7 用函式的方式 select from vehicle t where substr trim t.ve...

建立執行緒時安全傳遞引數例子

雖然傳參不是由分配者去釋放的,但是這樣做既能保證引數傳遞的安全性,又能不影響建立者執行緒的正常工作,也不需要使用事件或者鎖 typedef struct my struct my struct,pmy struct,lpmy struct dword winapi threadproc in lpv...