摘要: 今天一直在學習使用BOOST中的FUNCTION和BIND;
boost::bind(&類::方法,對象指針,_1等);//如果有函數的話,后面數字就幾個參數
bind返回的是一個函數指針對象.所以再賦值給一個函數對象
如:boost::function(返回類型(參數類型,參數類型)) funptr
賦值為:funptr = boost::bind(.....);
這次以后就可以不再用這個類的對象了,直接用函數對象調用
如funptr(參數......)
這樣的優點我無法表達.網上有人說是簡化了COMMAND這種設計模式
不用再去定義類成員函數形式的函數對象,只是普通函數對象
functor f3;//創建仿函數對象
泛型函數:
struct functor // 這是個仿函數類,形式為int(int)
{
int operator()(int)
{
}
}
functor f3;//創建仿函數對象
閱讀全文