差别
这里会显示出您选择的修订版和当前版本之间的差别。
| 两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
| cplus:stl函数对象 [2025/11/29 12:41] – 张叶安 | cplus:stl函数对象 [2025/11/29 12:42] (当前版本) – [算术仿函数] 张叶安 | ||
|---|---|---|---|
| 行 6: | 行 6: | ||
| **概念:** | **概念:** | ||
| - | * 重载**函数调用操作符**的类,其对象常称为**函数对象**。 | + | |
| - | * 函数对象使用重载的()时,行为类似函数调用,也叫**仿函数**。 | + | * 函数对象使用重载的()时,行为类似函数调用,也叫**仿函数**。 |
| **本质:** | **本质:** | ||
| + | |||
| 函数对象(仿函数)是一个**类**,不是一个函数。 | 函数对象(仿函数)是一个**类**,不是一个函数。 | ||
| 行 15: | 行 16: | ||
| **特点:** | **特点:** | ||
| - | * 函数对象在使用时,可以像普通函数那样调用,可以有参数,可以有返回值。 | + | |
| - | * 函数对象超出普通函数的概念,函数对象可以有自己的**状态**。 | + | * 函数对象超出普通函数的概念,函数对象可以有自己的**状态**。 |
| - | * 函数对象可以作为参数传递。 | + | * 函数对象可以作为参数传递。 |
| ===== 谓词 ===== | ===== 谓词 ===== | ||
| 行 24: | 行 25: | ||
| **概念:** | **概念:** | ||
| - | * 返回**bool类型**的仿函数称为**谓词**。 | + | |
| - | * 如果 '' | + | * 如果 '' |
| - | * 如果 '' | + | * 如果 '' |
| ===== 内建函数对象 ===== | ===== 内建函数对象 ===== | ||
| 行 33: | 行 34: | ||
| **概念:** | **概念:** | ||
| - | * STL内建了一些函数对象。 | + | |
| **分类:** | **分类:** | ||
| - | * 算术仿函数 | + | |
| - | * 关系仿函数 | + | * 关系仿函数 |
| - | * 逻辑仿函数 | + | * 逻辑仿函数 |
| **用法:** | **用法:** | ||
| - | * 这些仿函数所产生的对象,用法和一般函数完全相同。 | + | |
| - | * 使用内建函数对象,需要引入头文件 ''# | + | * 使用内建函数对象,需要引入头文件 ''# |
| ==== 算术仿函数 ==== | ==== 算术仿函数 ==== | ||
| **功能描述:** | **功能描述:** | ||
| - | * 实现四则运算。 | + | |
| - | * 其中 '' | + | * 其中 '' |
| **仿函数原型:** | **仿函数原型:** | ||