Posted on 2008-06-05 11:35
RichardHe 閱讀(873)
評論(0) 編輯 收藏 引用
今天一直在學習使用BOOST中的FUNCTION和BIND;
boost::bind(&類::方法,對象指針,_1等);//如果有函數(shù)的話,后面數(shù)字就幾個參數(shù)
bind返回的是一個函數(shù)指針對象.所以再賦值給一個函數(shù)對象
如:boost::function(返回類型(參數(shù)類型,參數(shù)類型)) funptr
賦值為:funptr = boost::bind(.....);
這次以后就可以不再用這個類的對象了,直接用函數(shù)對象調用
如funptr(參數(shù)......)
這樣的優(yōu)點我無法表達.網(wǎng)上有人說是簡化了COMMAND這種設計模式
不用再去定義類成員函數(shù)形式的函數(shù)對象,只是普通函數(shù)對象
泛型函數(shù):
struct functor // 這是個仿函數(shù)類,形式為int(int)
{
int operator()(int)
{
}
}
functor f3;//創(chuàng)建仿函數(shù)對象