std-function

    2熱度

    1回答

    考慮下面的例子: #include <iostream> #include <functional> using namespace std; void f(int x,int y) {} // void f(int x) {} // if this line is uncommented, code does not compile. int main() { auto

    5熱度

    3回答

    我想只允許在我的代碼庫中使用std :: function(如果它沒有做任何分配)。 爲此我可以寫類似下面的功能,只用它來創建我的功能情況: template< typename Functor> std::function<Functor> makeFunction(Functor f) { return std::function<Functor>(std::allocator_

    0熱度

    1回答

    我有這個相當簡單的模板類: template <typename Value> struct Foo { typedef Value ValueType; Value array[3]; }; 現在我嘗試使用依賴型,以得到一個簡單的函數的函數對象(std::function) F作爲函數參數和返回類型。 template <typename F> void floor

    2熱度

    4回答

    我試圖創建一個向量std :: function,然後將該向量傳遞給函數。我也需要傳遞參數給函數對象,所以我使用std :: bind。下面是代碼: #include <functional> #include <iostream> #include <string> #include <vector> using namespace std; void execute(vector

    2熱度

    2回答

    我想要一個函數指針,在某些情況下,它要麼分配了一個函數需要2個參數(一個cv :: Mat和一個包含參數的結構體)或者帶有3個參數的不同函數(相同的2個參數和一系列座標)。我認爲std :: function和std :: bind是我應該在這裏使用的。 Mat process_F1(cv::Mat img, feature_params f); Mat process_F1_coords(cv

    0熱度

    1回答

    我在觀察編譯錯誤「error:could not convert'{{{{{{{{{{{{{{{{{{{} {'} {'} std :: vector'「在下面的代碼中。 我在做矢量插入錯了嗎? 順便說一句我不想使用push_back方法。是否可以使用'='插入。 我有一種感覺,它是語法錯誤,但無法找到它。 當谷歌搜索時,我發現早期版本的gcc中存在一個錯誤。我正在使用4.8.1,所以我假設我正在

    5熱度

    3回答

    我試圖製作一個模板函數,可以通過任何類型和數量的參數傳遞一些其他函數,並將其綁定到std::function。我成功地做到這一點: #include <iostream> #include <functional> int foo(int bar) { std::cout << bar << std::endl; return bar; } template <t

    8熱度

    1回答

    我玩std :: function和自定義分配器,但它不像我所期望的那樣運行,當我不提供函數初始函數時。 當我向構造函數提供自定義分配器但沒有初始函數時,分配器從不使用或看起來如此。 這是我的代碼。 //Simple functor class that is big to force allocations struct Functor128 { Functor128()

    0熱度

    2回答

    調用我有一個類X,我想一個成員函數bar傳遞給另一個類Y,將其存儲在一個載體,在其他時間調用它的存在。 據我所知,當Y調用函數時,我需要確保X仍然存在。我怎麼做? 在我下面的例子中,我最初想,如果我通過一個shared_ptr來bar這將做我想做的 - 只要Y存在即的,那麼將X,爲Y持有一個shared_ptr到一個其成員函數。 我很確定現在這個邏輯是不正確的。有人可以請賜我嗎? class Y

    1熱度

    1回答

    我希望有人能幫助我一點。我相對較新的C++和模板的概念。 我需要根據我在列表中獲得的一些數據創建一個std :: function。 函數的簽名應該根據可用的數據。我期待這樣的事情 template <typename ret, typename... Args, typename newArg> struct typeparser<ret(...Args)>{ typeparser<