int value {5}; auto iter1 = std::find_if(std::begin(numbers), std::end(numbers),[value](int n) { return n > value; }); if(iter1 != std::end(numbers)) std::cout << *iter1 << " was found greater than " << value << ".\n";find_if() 的第三个参数是一个 lambda 表达式的谓词。这个 lambda 表达式以值的方式捕获 value,并在 lambda 参数大于 value 时返回 true。这段代码会找到一个值为 46 的元素。
Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有