C++ 20 中的范围、迭代器与匿名函数
1. 谓词(Predicates)
谓词是返回布尔结果的函数,在标准库中有很多用途。例如, sort 函数默认按升序排序,若要按降序排序,可以提供一个谓词。排序谓词 pred 需满足以下条件:
- pred(a, a) 必须为 false 。
- 若 pred(a, b) 为 true ,且 pred(b, c) 为 true ,则 pred(a, c) 也必须为 true 。
- 参数类型必须与要排序的元素类型匹配。
- 返回类型必须为 bool 或 C++ 能自动转换为 bool 的类型。
以下是一个按降序排序的谓词及测试程序:
import <algorithm>;
import <iostream>;
import <iterator>;
import <vector>;
/** Predicate for sorting into descending order. */
int descending(int a, int b)
{
return a > b;
}
int main()
{
std::vector&l
超级会员免费看
订阅专栏 解锁全文
941

被折叠的 条评论
为什么被折叠?



