boost bind 的使用方法

2021-09-28 15:44:18 字數 709 閱讀 5175

1.boost::bind()的使用方法(functions and function pointers)

定義如下函式:

int f(int a, int b)

int g(int a, int b, int c)

boost::bind(f, 1, 2) 可以產生乙個無參函式物件(「nullary function object」),返回f(1,2)。類似地,bind(g,1,2,3)相當於g(1,2,3)。

bind(f,_1,5)(x)相當於f(x,5);_1是乙個佔位符,其位於f函式形參的第一形參int a的位置,5位於f函式形參int b的位置;_1表示(x)引數列表的第乙個引數。

boost::bind可以處理多個引數:

bind(f, _2, _1)(x, y);                 // f(y, x)

bind(g, _1, 9, _1)(x); // g(x, 9, x)

bind(g, _3, _3, _3)(x, y, z); // g(z, z, z)

bind(g, _1, _1, _1)(x, y, z); // g(x, x, x)

參考文獻

boost bind的使用方法

此文 bind boost 標頭檔案 boost bind.hpp bind 是一組過載的函式模板.用來向乙個函式 或函式物件 繫結某些引數.bind的返回值是乙個函式物件.它的原始檔太長了.看不下去.這裡只記下它的用法 9.1 對於普通函式 假如有函式 fun 如下 void fun int x,...

boost bind的使用方法

bind boost 標頭檔案 boost bind.hpp bind 是一組過載的函式模板.用來向乙個函式 或函式物件 繫結某些引數.bind的返回值是乙個函式物件.它的原始檔太長了.看不下去.這裡只記下它的用法 9.1 對於普通函式 假如有函式 fun 如下 void fun int x,int...

boost bind的使用方法

bind boost 標頭檔案 boost bind.hpp bind 是一組過載的函式模板.用來向乙個函式 或函式物件 繫結某些引數.bind的返回值是乙個函式物件.它的原始檔太長了.看不下去.這裡只記下它的用法 9.1 對於普通函式 假如有函式 fun 如下 void fun int x,int...