导入
简介
函数、函数对象和lambda函数都属于可调用单元类。它们被“调用”以获取数据或执行操作。
ℹ️ 本章内容并非全面详尽
本课程聚焦于 C++ 标准库,因此不会深入探讨可调用对象。我们仅提供足够使用标准模板库(STL)算法中可调用对象所需的基本信息。对可调用对象的完整讨论应属于 C++ 核心语言课程的内容。
许多 STL 算法和容器都可以通过可调用对象(或简称“可调用物”)进行参数化。可调用对象是指行为类似于函数的事物。这不仅包括普通函数,还包括函数对象和 lambda 函数。谓词是一种特殊的函数,其返回值为布尔类型。若谓词只有一个参数,则称为一元谓词;若有两个参数,则称为二元谓词。这一分类同样适用于普通函数:接受一个参数的函数是一元函数,接受两个参数的函数是二元函数。
🔑 要修改容器中的元素,算法必须通过引用获取它们
可调用对象可以从容器中按值或按引用接收参数。若要修改容器中的元素,必须直接访问这些元素,因此可调用对象必须通过引用获取它们。
在下一课中,我们将学习两种类型的可调用对象:函数和函数对象。