1
假設我有一個功能定義一個函數f1(x)的從另一個函數F0(X,Y)的對象,但設定y以一個固定的值C++
void f0(double x, double parameters[]) { ... }
,我想定義一個函數對象
std::function <void (double x) >f1
這樣,例如f1(x) = f0(x,a)
其中a
是一組指定的參數(例如double parameters[4] = {1.0, 2.9, 6.2, 2.1}
)
我會怎麼做呢?我的想法是嘗試有一個功能,輸入a
輸出f1,但我不知道如何做到這一點。
這樣做的動機是,在本質上,我還沒有在一個庫中,該輸入與一個雙輸入功能的其它功能功能,但我希望有更多的靈活性,以參數添加到功能
魔法,非常感謝! – db1234
我建議在lambda解決方案中只使用'auto'而不是'std :: function'。更少的空間使用,可能更快的函數調用。 – CoffeeandCode
請不要將lambda綁定到函數對象。改用auto。 – Otomo