STL仿函式簡單總結

2021-07-31 08:12:59 字數 979 閱讀 3901

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 ...