1
A
回答
7
pred
代表谓语这基本上是一个可调用的实体,或者是一个函数或仿函数(或拉姆达,这实质上是取决于它捕获变量算符或函数( s)或不)。所以谓词可以带一个或多个参数,并返回一个布尔值。
下面是std::find_if的一个例子,其中一个重载将一元谓词作为第三个参数。该断言是一元,因为它需要一个参数,并返回bool
:
std::vector<int> v{1,2,3,5,6};
auto it = std::find_if(begin(v), end(v), [](int i) { return i == 3; });
通知第三个参数是其被用作元谓词的λ。
在C++ 03,示例可以是这样的:
bool is_three(int i) { return i == 3; }
std::vector<int>::iterator it = std::find_if(v.begin(), v.end(), is_three);
注意,现在is_three
这是因为第三个参数被传递给std::find_if
的功能。
相关问题
- 1. 如何使用STL算法
- 2. 如何在Qt中使用STL算法?
- 3. 什么是args,我如何使用它?
- 4. 什么是ipc?我如何使用它?
- 5. 为什么STL集大小复杂度是O(1),它是如何计算的?
- 6. 什么是STL算法的返回类型“计数”,对valarray中
- 7. C++中使用了什么算法stl map.find()?
- 8. 使用STL并行算法的用户有什么限制?
- 9. 子域的好处是什么?例如:uploads.mysite.com - 我为什么要使用它?
- 10. MKMapPointForCoordinate中使用的算法是什么?
- 11. 如何在stl算法中使用glm的运算符==?
- 12. 什么是Prolog中的 - >运算符,我该如何使用它?
- 13. 什么是YQL?它是否像jQuery?我如何使用它?
- 14. 什么是el/element?我如何使用它?为什么?
- 15. 合并使用STL算法
- 16. MongoDB中的$ cmd集合是什么?我如何使用它?
- 17. LaTeX中的.tpl文件是什么?我如何使用它?
- 18. AngularJs Material中的defaultIconSet()是什么以及我如何使用它?
- 19. 什么是C#中的“88型”,我该如何使用它?
- 20. 什么是Orchard中的ParentPath标记,我如何使用它?
- 21. 什么是iota_n的好实现(缺少STL算法)
- 22. C++:我用的是什么错误使用STL矢量
- 23. 什么是C#中的字段,我为什么要使用它?
- 24. SelectMany()如何在底层工作,它使用什么算法?
- 25. 什么是LINQ?我如何在PHP中使用它?
- 26. 什么是PS3 Root密钥/它有什么作用/它是如何使用的?
- 27. Weka中的堆叠算法是什么?它是如何工作的?
- 28. 在Qt容器中使用STL算法
- 29. 在C++中使用排序算法STL
- 30. JavaVM.framework。它是什么?我怎么用它?