bind2nd

    8熱度

    2回答

    我最近花了相當長的一段時間,這段代碼調用func()時理解錯誤消息: int main() { vector< vector<double> > v; double sum = 0; for_each(v.begin(), v.end(), bind2nd(ptr_fun(func), &sum)); return 0; } 當fun

    1熱度

    3回答

    有一些我目前無法包裹我的頭。 我期待輸出每個元素增加1. 很明顯,情況並非如此。 仔細看後,我認爲是因爲bind2nd函數的返回值被丟棄;也就是說該函數不會修改容器的元素。 我的想法是否正確?有人可以確認或提供正確的解釋容器不被修改? #include <vector> #include <iostream> #include <algorithm> #include <functional

    1熱度

    2回答

    如何使用binder2nd,bind2nd和bind1st? 更具體何時使用它們,是否有必要? 另外,我正在尋找一些例子。

    1熱度

    4回答

    我需要計算指針數組的對象與賦予成員函數的參數具有相同名稱(成員變量)的次數。我嘗試過不同的方法,但都沒有工作。我的代碼甚至沒有編譯。錯誤是:「錯誤C2514:'MyComparator':類沒有構造函數」,這裏是我用於比較和用於計算協議的函數的類的代碼。 //definition of the vector vector<Class1*> files; ... int Class2::cou

    0熱度

    2回答

    我想學習如何使用用戶定義的類使用bind2nd,但我發現了一個錯誤,我想不通,儘管我的尋找到其他的努力如何解決資源以獲得援助。 幫助將不勝感激,謝謝。 的main.cpp #include <algorithm> #include <vector> class F { public: int operator()(int a, int b) { return

    4熱度

    1回答

    我缺少的是部分應用函數的第二個參數而不是第一個參數的能力。當我想要將函數傳遞給像map這樣的函數時,這是特別有用的,但是不必每次都爲它寫一個lambda表達式。 我爲此編寫了自己的函數(定義如下,以防萬一確實沒有任何內置函數和其他人都好奇),但我真的很想知道是否已經存在某些東西這個成語的序曲,因爲我喜歡重複使用而不是重新創作。 這裏是我的定義,一個簡單的例子: bind2nd :: (a -> b

    3熱度

    1回答

    我有一些代碼已經在vs2008上工作,我試圖將它移植到vs2012。在這個源代碼中,我使用了指定的函數bind2nd,並使用std :: bind2nd,並且一切正常。當我用vs2012編譯相同的代碼時,我得到一個錯誤,說bind2nd不是std的成員。我檢查了msdn,它說這是「功能」庫的一部分。當我在我的盒子上尋找它時,我發現它不在那裏,但是在xfunction中,當rc_invoked沒有被

    1熱度

    1回答

    只是爲了更好的理解,我可以使用std :: bind1st/2nd替換對boost :: bind的調用嗎?或者是因爲返回參考而無法實現? 實施例(縮短): class Pos { public: bool operator==(const Pos&); ... } class X { public: const Pos& getPos() { return m_p; } .

    1熱度

    3回答

    這是我在期末考試中發現的問題之一。我無法弄清楚我應該做什麼。 我知道BindSecArg需要一個()運算符,但不知道里面有什麼。 在這個問題中,你需要實現類似於std :: bind2nd的東西。爲了簡單起見, 主要使用「for」--loop編寫,但可以用「for each」和STL容器重寫。 class Functor1 { public: int operator()(co