stdbind

    2熱度

    1回答

    TLTR:我想根據存儲在可變參數模板列表中的索引定義的特定順序將某些數組從模板容器映射到函數的參數(我想不出一個更簡單的方法來定義問題)。 使用void*存儲數組,但數組之間的類型安全性以及函數參數由輔助類保證。相同的助手類必須擴展給定的參數包,獲取適當的數組,將它們綁定到函數指針並調用函數。這是我卡住的地方。 詳細:我很抱歉提前處理冗長的問題和發佈的代碼,但沒有編譯,但我試圖儘可能簡潔。 問題在

    0熱度

    1回答

    我將一個copy_if綁定到一個將接受一對迭代器的函數對象中。我有一個警告,說我正在返回一個本地地址或臨時地址。 我已經知道它來自std :: pair迭代器的綁定成員變量,但我不知道如何糾正它。我不明白爲什麼他們被認爲是暫時的。有人可以向我解釋嗎? 這裏是相關的代碼。該環境是Visual Studio 2010 Ultimate,對Windows 7 Enterprise的幫助不大。 std::

    9熱度

    2回答

    我正在玩std :: function和std :: bind的arround,我發現了一些不直觀的東西,我想更好地理解它。 例如: void fun() { } void hun(std::string) { } int main() { function<void(int)> g = &fun; //This fails as it should in my un

    3熱度

    1回答

    如果你要綁定到一個功能f一個參考,你可以使用std::bind(f, std::ref(x))。在這種情況下,f需要參考或複印。 現在我有一個功能void g(T & t)。我想將輸入參數綁定到std::shared_ptr<T> mySharedPtr,如下所示:std::bind(g, mySharedPtr)。這將保證mySharedPtr的數據至少和綁定一樣長。但是由於g需要參考,所以這不

    0熱度

    1回答

    我有一個抽象的基類,需要傳遞給它的構造函數初始化其成員的一些對象。但我想擺脫通過派生類構造函數傳遞這些對象。 class Derived : public Base { public: Derived(type one, type two, type three) : Base(one, two, three) { // ... 傳遞給基類的對象與所有創建的

    6熱度

    2回答

    我正在探索g ++-4.7(Ubuntu/Linaro 4.7.3-2ubuntu〜12.04,具體)對C++ 11的支持,我似乎在尋找差異。 特別是,如果我註釋掉#include <boost/bind.hpp>和系統地在升壓ASIO異步客戶端的例子(從http://www.boost.org/doc/libs/1_45_0/doc/html/boost_asio/example/http/cl

    19熱度

    2回答

    我有以下代碼: #include <stdio.h> #include <functional> template <typename T> auto callback(T&& func) ->decltype(func()) { return func(); } double test(double& value) { value=value+1.0;

    4熱度

    1回答

    我試圖使用std ::轉換與std :: bind來簡化循環。這裏有一些代碼: class ITest { public: virtual CPrueba Prueba(double p, double d = 0)const = 0; }; void foo(const ITest& test) { std::vector<double> v; std:

    0熱度

    1回答

    我想了解std :: bind如何工作。我寫了以下內容: #include <iostream> #include <algorithm> #include <functional> using namespace std::placeholders; int fun2(int i,int j) { return i+j; } int fun(int i) {

    4熱度

    1回答

    我正在重構「同步」代碼(即,使用Windows事件等待某個其他線程完成某件事情)到「異步」代碼(使用委託來實現回調機制)。 在同步代碼中,我有時在等待結束後需要使用局部變量。當這樣的代碼變爲異步時,這些局部變量將會丟失(回調處理程序無法訪問它們)。我可以將它們存儲爲類的屬性,但它感覺很浪費。 在C++中,我使用std::bind來解決這個問題。我只需添加與回調處理程序所需的局部變量相同的參數,並在