在STL中的许多函数都需要提供一个binary comp function
,指明是从大到小还是从小到大,比如sort()
函数,最大最小堆等。
这个 comp
函数 可以是函数指针或函数对象。也可以是个lambda
函数:
lambda函数
1 | cout<<[](float f)->int {return abs(f)};(-3.5)<<endl; |
返回3.
其中[]
中是lambda indicators
。用法如下:
1 | [ ]://不捕获任何外部变量 |
例子:
1 | auto comp = [](const auto& x, const auto& y) { return x.second < y.second; }; |