2011-02-10 74 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”部分中删除即可。