mem-fun

    0熱度

    2回答

    我想通過一個mem_fn參數bind但編譯器似乎不允許它。 例如這工作正常: accumulate(cbegin(foos), cend(foos), 0, bind(plus<int>(), placeholders::_1, bind(&foo::r, placeholders::_2))); 但是當我嘗試使用mem_fn函子我得到錯誤的頁面: accumulate(cbegin(foos

    0熱度

    2回答

    我使用C++進行編碼。我有一個有很多文件的項目。我有一個名爲列表對的向量如下: std::vector< std::pair< structure1, double> > list; ,我要檢查是否爲特定的雙重價值z,存在一個元素:el列表這樣的:el.second == z 我想要使用find_if 爲此,我實現了一個方法:Scheduled,它有兩個參數:第一個是存儲在列表中的元素,第二個

    2熱度

    4回答

    作爲家庭作業的一部分,我們應該映射地圖中每個角色的出現。我們的函數應該使用std :: for_each並傳入要評估的字符。 我的功能是: std::for_each(document_.begin(), document_.end(), std::mem_fun(&CharStatistics::fillMap)); document_是string,並且fi

    1熱度

    1回答

    我遇到過一個用例,其中std::mem_fn無法執行手動包裝函數可以執行的操作。它出現在包裝功能上使用的東西的方法的類的,而是一個類型隱式轉換到它: #include <functional> struct A { }; struct B { B(A); // implicit conversion from A to B void foo() const; }

    3熱度

    1回答

    我的問題很簡單:我可以做這樣的事嗎? 說Foo類包含以下成員函數: foo foo::DoSomething(input_type1 input1, input_type2 input2) { ... // Adjust private datamembers return *this; } 使用富: std::vector<foo> foovec; input_ty

    1熱度

    2回答

    免責聲明:此描述包含大量的Qt特定功能。這不是回答這個問題所必需的,我只是用它來解釋背景。 我需要在我的QT應用程序中執行一些繁重的計算。 爲了做到這一點,我想使用QtConcurrent::run(myFunction)這是Qt的異步版本,並創建了一個未來,在某些時候將包含myFunction的結果。 問題是該函數既是成員函數又是複雜的參數。 我知道你可以傳遞一個函數和一個指向QtConcurr

    1熱度

    1回答

    mem_fun和mem_fun_ref和許多其他成員函數適配器可以使成員函數的行爲類似於或不是函數。但是有一個限制,他們調用的成員函數必須是const之一。我開始瞭解如何使用它們,但是它背後的原因讓我感到困惑和困惑。爲什麼這樣設計? 更新: 對不起。寫下面的例子。 class A { ... //void fun(){cout<<"Fun";} This is not con

    1熱度

    1回答

    我想要調用向量中的每個對象的成員函數,使用指定的參數,並且我希望調用是多態的。我相信下面顯示的函數vstuff實現了這一點。但是可以修改vstuff以創建一個向量< shared_ptr < Base>>不使用boost :: bind? class Base{ virtual double stuff(double t); } //and some derived

    0熱度

    2回答

    問題是編譯器錯誤,下面的代碼片段。 這是一個非常簡單的程序,用隨機整數填充列表並增加每個元素。我使用一個函數的std :: for_each來增加我的集合的每個成員,並且全部編譯。關注main()中的for_each。接下來,我簡單地改變for_each來調用List :: increment而不是函子Increment(注意主註釋掉的代碼)。對於這個任務,我使用mem_fun_ref,因爲我沒有

    0熱度

    1回答

    的所以,我有一類稱爲代表能夠存儲函數指針陣列。這是代碼: template<typename Func> class delegate { private: public: typename std::vector<Func> mListOfFunctions; void Bind(Func f) { mListOfFunctions.push_b