就像我有一堆函式一樣,f, g, h.... 如何輕松地將它們結合起來new_func(x) = f(g(h(x)))?為方便起見,我們可以假設最后一個函式沒有引數,其他函式可以嵌套呼叫。
模板引數包能做到這一點嗎?
更新:
實際上,我想要一種方法可以給我一個功能組合,比如
some_nest_method(f, g, h)(x) == f(g(h(x)))
uj5u.com熱心網友回復:
您可以遞回地合并函式
像這樣的東西
template <typename F>
F combine(F f){return f;}
template <typename F, typename...Fs>
auto combine(F f, Fs ...fs){
auto rest = combine(fs...);
return [=](auto arg){
return f(rest(arg));
};
}
https://godbolt.org/z/EzqjKr4q5
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/527329.html
標籤:C 模板c -模板
上一篇:Django:在單元測驗期間參考模板中的命名空間會給出“未注冊的命名空間”錯誤
下一篇:防止可變引數模板中的r值參考
