STL 仿函式的分類與運用

2021-09-21 13:48:39 字數 1258 閱讀 6164

六個算數運算子

plus//加法

minus//減法

negetive//否定

multiplies//乘法

divides//除法

modules//取模

**示例:

#include #include #include #include using namespace std;

int main()

;vectoriv(ia, ia + 5);

//120

cout << accumulate(iv.begin(), iv.end(), 1, multiplies()) << endl;

//15

cout << multiplies()(3, 5) << endl;

modulusmodulusobj;

cout << modulusobj(3, 5) << endl; // 3

system("pause");

return 0;

}

六個關係運算類仿函式

less//小於

less_equal//小於等於

greater//大於

greater_equal//大於等於

equal_to//等於

not_equal//不等於

**示例:

#include #include #include#include using namespace std;

template class display

};int main()

; vectoriv(ia, ia + 5);

sort(iv.begin(), iv.end(), greater());

for_each(iv.begin(), iv.end(), display());

system("pause");

return 0;

}

三個邏輯運算子

logic_and//邏輯於

logic_and//邏輯或

logic_not//邏輯否

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