解釋如何使用std::bind
的一個簡單示例如下:如何使用std :: bind?
假設我們有3個參數的函數:f3(x,y,z)。我們希望有一個定義爲2個參數的函數:f2(x,y) = f3(x,5,y)
。在C++中,我們可以很容易地std::bind
做到這一點:
auto f2 = std::bind(f3, _1, 5, _2);
這個例子我很清楚:std::bind
帶一個函數作爲第一個參數,然後它需要N個其他參數,其中n是函數的參數個數這被認爲是std::bind
的第一個參數。
然而,我發現了另一個使用綁定的:
顯然,foo
有一個參數,並與std::bind
它被設置爲i
。但是爲什麼我們在(foo, i)
之後使用另一對括號?爲什麼我們不使用std::bind
的輸出?我的意思是,爲什麼我們沒有auto f = std::bind(foo, i)
?
究竟是'\\\'? – 2013-03-21 08:54:14
它應該是一個評論:// – Roman 2013-03-21 08:56:17