我嘗試寫一段代碼,將做到以下幾點:假設我們有自定義綁定功能的呼叫後C++,用函數的參數匹配定製的佔位符
auto bind_obj = bind(some_func, _1, "test")
,我們有
auto res = bind_obj(42)
其中函數some_func:
int some_func(int val, string test)
如何能夠匹配參數佔位符在實際的函數調用中提供,即bind_obj(...)??
換句話說,就是可以遍歷的std ::元組(參數和佔位符這裏)和可變參數組(函數參數)到:
- 推斷功能some_func的返回類型;
- 使正確的std ::元組在some_func()調用中進一步使用它?
我想這樣做不使用boost和std :: functional。我認爲,我的主要問題是我不明白如何在運行時使用參數(所有佔位符正確替換)構建元組,並推導出返回類型。
我在STL「functional.h」中看到了_Mu模板結構,但它看起來過於複雜和過載。
的''標準頭文件是C++的一部分。你通過「純C++」是什麼意思? –
Shoe
我想手動編寫參數和佔位符之間的匹配(非常可能,使用模板,是的) 上面的綁定僅僅是通常使用類似綁定函數的示例 –
對不起,我認識到錯誤類型,應該是 bind some_func,_1,「test」)然後:bind_obj(42) –