??? 仿函數(shù),就是是一個類的使用看上去象一個函數(shù)。其實現(xiàn)就是類中實現(xiàn)一個operator(),這個類就有了類似函數(shù)的行為,就是一個仿函數(shù)類了。
??? 在我們寫代碼時有時會發(fā)現(xiàn)有些功能的實現(xiàn)的代碼,會不斷的在不同的成員函數(shù)中用到,但是有不好將這些代碼單立出來成為一個類的一個成員函數(shù)。但是又很想復(fù)用這些代碼。寫一個公共的函數(shù),可以,這是一個解決方法,不過函數(shù)用到的一些變量,就可能成為公共的全局變量,再說為了復(fù)用這么一片代碼,就要單立出一個函數(shù),也不是很好維護(hù)。這時就可以用仿函數(shù)了,寫一個簡單類,除了那些維護(hù)一個類的成員函數(shù)外,就只是實現(xiàn)一個operator(),在類實例化時,就將要用的,非參數(shù)的元素傳入類中。這樣就免去了對一些公共變量的全局化的維護(hù)了。又可以使那些代碼獨立出來,以便下次復(fù)用。而起這些仿函數(shù),還可以用關(guān)聯(lián),聚合,依賴的類之間的關(guān)系,于用到他們的類組合在一起,這樣有利于資源的管理(這點可能是它相對與函數(shù)最顯著的有點了)。如果在配合上模板技術(shù)和policy編程思想,那就更是威力無窮了,大家可以慢慢的體會。
???? 在下只是拋磚引玉,希望大家多多指教。

