2011-02-10 76 views

回答

3

即使你不能切換到C++ 11,你應該考慮從boost :: function切換到TR1函數,這是C++的預覽版本11

基本上,最初作爲boost :: function成爲C++標準庫的一部分,現在是用可變參數模板定義的。簡而言之,這意味着沒有硬性限制了(但你可能需要的,如果你需要的東西超越_19定義額外的佔位符變量)

要自boost ::功能切換到std :: TR1做以下

找到#include <boost/function>#include <boost/bind> 所有出現並取代它們:

#include <tr1/functional> 
using std::tr1::function; 
using std::tr1::bind; 
using std::tr1::placeholders::_1; 
using std::tr1::placeholders::_2; 
... 

這應該作爲一個簡易替換。如果您之後碰巧切換到C++ 11,只需將 從「tr1」部分中刪除即可。