1

可能重复:
如何在 std::vector 中查找项目?

我正在使用 C++ Builder 创建一个 VCL Forms 应用程序。我还有一个约会对象的向量数组,每个对象都有一个名称、类型、提醒日期/时间、日期/时间、位置和评论。

我想实现一个查找功能,让用户在给定特定条件的情况下找到约会。

用户可以通过选择名称、类型等或每一个的组合来选择在向量数组中查找约会。

对于这种情况,最好的编程概念是什么?向量不大。不超过 10 或 20 个元素。

谢谢

4

3 回答 3

2

使用std::find_if()并定义所需的谓词(如果 C++11,您可以使用 lambda 函数)。

请参阅在线演示http://ideone.com/Md7sp

于 2012-09-26T08:26:33.177 回答
1
std::find_if(A.begin(),A.end(),isthatit(conditions));

whereisthatit是从条件构造的谓词对象。

于 2012-09-26T08:26:51.137 回答
0

如果您有许多标准,您应该考虑针对不同搜索索引的 Boost.MultiIndex 容器。 http://www.boost.org/doc/libs/1_51_0/libs/multi_index/doc/tutorial/index.html

于 2012-09-26T09:39:06.690 回答