可能重複:
Using Boost adaptors with C++11 lambdas我可以在boost中使用std :: function(C++ 11 lambda)嗎?
我想用升壓範圍適配器映射(變換)的地圖的列表,通過C++ 11 lambda函數。 像這樣:
boost::copy(myMap | transformed([](pair<string, string> p){return p.first;}),
ostream_iterator<string>(cout, ", "));
這是行不通的,因爲的std ::函數沒有一個value_type的類型。我知道這個特殊的轉換可以通過map_keys完成,但我的觀點更一般。我如何使用Boost的C++ 11 lambda表達式?
如果不能在沒有樣板的情況下完成,有沒有計劃解決這個問題?我試圖尋找它,但發現很少。
注意:C++ 11 lambdas和'std :: function'是兩種不同的東西。*你的代碼根本不使用'std :: function'。 –
我認爲C++ 11 lambda與std :: function兼容,因此,在某些意義上std :: functions。 – Gurgeh