c++相對於c語言來說,有兩個重點,1.物件導向特性;2.函式模板/泛型程式設計。對於stl中的6大元件:容器/演算法/迭代器/仿函式/介面卡/空間配置器。仿函式的用法比較多樣化,下面簡單總結一下。
使用:
_outit copy_if(_init _first, _init _last, _outit _dest,
_pr _pred)
這裡_pr,用於限定copy的條件。如果不符合要求的函式規範,則忽略,進行全copy。
使用1元普通函式
//1.使用1元函式
bool copyfunc1param(const
int& srcvalue)
使用1元仿函式
//2.使用1元仿函式
class copyclass1param :public unary_function
};
使用2元普通函式,但通過特殊函式進行轉換
//3.使用2元函式,直接將篩選條件傳遞給函式
bool copyupnum( int srcvalue,int
base )
使用2元仿函式,進行函式因子繫結(將2元因子轉化為1元因子)
//4.使用2元仿函式
class copyclassupnum : public binary_function
};
測試用例如下:
#define _crt_secure_no_warnings
#include
#include
#include
#include
#include
using
namespace
std;
int main()
STL之仿函式
這裡介紹仿函式,謂詞,內建函式物件,介面卡的用法 仿函式 又稱函式物件,實際上是過載操作符 其中不定義構造和析構函式 只有乙個引數是一元仿函式,兩個就是二元 eg class func intmain 優點 函式物件超越了普通函式的概念,可以在內部儲存其狀態 比如呼叫次數 函式物件可以作為引數呼叫 ...
stl 仿函式 函式物件
定義 stl原始碼剖析 仿函式其實上就是乙個 行為類似函式 的物件。即主體是物件,只是使用起來像乙個函式。傳遞函式指標 templatebool compare to const t x,const t y templatevoid print compare t fun int main 傳遞的是...
STL 仿函式(函式物件)
定義 一種具有函式特徵的物件,呼叫者可以像函式一樣使用該物件,為了能夠 行為類似函式 該物件所在類必須自定義函式呼叫運算子operator 就可以在仿函式物件後面加上一對小括號,以此呼叫仿函式定義的operator 操作。class mul2 class mul3 intmain for each ...