Logo
Section 1 / 3

简介

函数、函数对象和 lambda 函数都属于可调用单元类别,它们通过“调用”来获取数据或执行操作。

导入

简介

函数、函数对象和 lambda 函数都属于可调用单元类别,它们通过“调用”来获取数据或执行操作。

ℹ️ 本章内容有意不作详尽阐述
本课程聚焦于 C++ 标准库,因此不会深入探讨可调用单元的细节。我仅提供在标准模板库(STL)算法中正确使用可调用单元所必需的知识。关于可调用单元的全面讨论应属于 C++ 核心语言课程的内容。

STL 中的许多算法和容器都可以通过可调用单元(或简称“可调用对象”)进行参数化。所谓可调用对象,是指行为类似于函数的实体,不仅包括普通函数,还包括函数对象和 lambda 表达式。其中,返回布尔值的特殊函数称为谓词:若谓词接受一个参数,则称为一元谓词;若接受两个参数,则称为二元谓词。类似的命名规则也适用于普通函数:接受一个参数的函数称为一元函数,接受两个参数的称为二元函数。

🔑 若要修改容器中的元素,你的算法必须通过引用获取它们
可调用对象可以从容器中按值或按引用接收参数。若要修改容器中的元素,就必须直接访问这些元素,因此可调用对象必须通过引用来获取参数。

迭代器

函数与函数对象