c++仿函数
c++仿函數
- 仿函數的相應類型
- unary_function
- binary_function
- 算術類仿函數
- 關系運算類仿函數
- 邏輯運算類仿函數
- 證同,選擇與投射
在STL標準規格定案后,仿函數采用函數對象作為新名稱
函數指針的缺點在于:不能滿足STL對抽象性的要求,也不能滿足軟件積木的要求——函數指針無法和STL其它組件(如適配器)搭配,產生更靈活的變化
就實現而言,仿函數其實就是一個“行為類似函數”的對象,為了能夠“行為類似函數”,其類別定義中必須自定義function call運算子。擁有這樣的運算子后,就可以在仿函數的對象后面加上一對小括號,以此調用仿函數所定義的operator()
STL仿函數的分類,若以操作數的個數劃分,可分為一元和二元仿函數,若以功能劃分,可分為算術運算,關系運算,邏輯運算三大類
任何應用程序欲使用STL內建的仿函數,都必須含入頭文件,SGI則將它們實際定義于<stl_function.h>頭文件
仿函數的相應類型
STL仿函數應該有能力被函數適配器修飾,彼此像積木一樣地串接。為了擁有適配能力?
總結
- 上一篇: STL算法
- 下一篇: C++实现顺序查找(附完整源码)