c++仿函数
c++仿函數(shù)
- 仿函數(shù)的相應(yīng)類型
- unary_function
- binary_function
- 算術(shù)類仿函數(shù)
- 關(guān)系運(yùn)算類仿函數(shù)
- 邏輯運(yùn)算類仿函數(shù)
- 證同,選擇與投射
在STL標(biāo)準(zhǔn)規(guī)格定案后,仿函數(shù)采用函數(shù)對(duì)象作為新名稱
函數(shù)指針的缺點(diǎn)在于:不能滿足STL對(duì)抽象性的要求,也不能滿足軟件積木的要求——函數(shù)指針無法和STL其它組件(如適配器)搭配,產(chǎn)生更靈活的變化
就實(shí)現(xiàn)而言,仿函數(shù)其實(shí)就是一個(gè)“行為類似函數(shù)”的對(duì)象,為了能夠“行為類似函數(shù)”,其類別定義中必須自定義function call運(yùn)算子。擁有這樣的運(yùn)算子后,就可以在仿函數(shù)的對(duì)象后面加上一對(duì)小括號(hào),以此調(diào)用仿函數(shù)所定義的operator()
STL仿函數(shù)的分類,若以操作數(shù)的個(gè)數(shù)劃分,可分為一元和二元仿函數(shù),若以功能劃分,可分為算術(shù)運(yùn)算,關(guān)系運(yùn)算,邏輯運(yùn)算三大類
任何應(yīng)用程序欲使用STL內(nèi)建的仿函數(shù),都必須含入頭文件,SGI則將它們實(shí)際定義于<stl_function.h>頭文件
仿函數(shù)的相應(yīng)類型
STL仿函數(shù)應(yīng)該有能力被函數(shù)適配器修飾,彼此像積木一樣地串接。為了擁有適配能力?
總結(jié)
- 上一篇: STL算法
- 下一篇: 禁核试北京国家数据中心属于部队吗