STL 函式物件

2021-10-22 18:57:47 字數 780 閱讀 3747

4.1函式物件

4.1.1函式物件概念

過載函式呼叫操作符的類,其物件常稱為函式物件

函式物件使用過載的()時,行為類似函式呼叫,也叫仿函式

本質:函式物件(仿函式)是乙個類,不是函式

函式物件使用

特點:函式物件在使用時,可以像普通函式那樣呼叫,可以有引數,可以有返回值

函式物件超出普通函式概念,函式物件可以有自己的狀態

函式物件可以作為引數傳遞

**示例:

#include

#include

using

namespace std;

//函式物件(仿函式)

class

myadd};

//1.函式物件在使用時,可以像普通函式那樣呼叫,可以有引數,可以有返回值

void

test01()

//2.函式物件超出普通函式概念,函式物件可以有自己的狀態

class

myprint

void

operator()

(string test)

int count;

//內部自己狀態};

void

test02()

//3.函式物件可以作為引數傳遞

void

doprint

(myprint &mp, string test)

void

test03()

intmain()

STL 函式物件

一 函式物件 functor stl中提供了一元和二元函式的兩種functor,通過unary function和binary function提供了這兩種不同引數數量的functor的基本結構,在這兩個型別中,分別內嵌定義一元和二元函式操作在模版推演的時候需要用到的typedef.一元函式的定義為...

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