c++ - 在指针 vector 中搜索字符串

标签 c++ search pointers vector

我了解如何使用
find(vector.begin(), vector.end(), item)!=vector.end()在 vector 中查找特定值br/> 但是,我有一个指向 Restaurant 类型对象的指针 vector ,我需要能够在该 vector 中搜索每个元素指向的对象的属性。

我不确定我是否可以构建对 vector 的 .find() 方法的调用来解决这个问题,或者我是否需要找到另一种方法来执行此操作。

vector 中使用该类查找餐厅名称的调用是 (restaurantPointerVector[i])->getRestaurantName()
但我需要知道如何搜索此属性以返回具有我正在搜索的名称的 Restaurant 对象是否已经存在在 vector 中。

最佳答案

find_if 是你的 friend 。这是一个例子:

struct Comparator {
   const char* expected_name;

   Comparator(const char* _expected_name) 
     : expected_name(_expected_name)
   {}

   bool operator()(const Restaurant* r1) const
   { return !strcmp(r1->getRestaurantName(), expected_name); } // Just an example using strcmp
};

然后:

find_if(vector.begin(), vector.end(), Comparator("Searched Restaurant Name"));

当然,使用 C++0x 会更好...

关于c++ - 在指针 vector 中搜索字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6145670/

相关文章:

c++ - 模板函数指针重载

c++ - 如何最好地初始化 C++ 中的字符串 vector ?

ios - objective-c -按词搜索

c++ - 遇到中断语句时重新初始化指针变量

c++ - 用引用隐藏指针

c# - 从 c 调用 mono_method(指针)

c++ - 如何从 QString 中删除反斜杠?

c++ - 使用 AWE 分配内存

java - 如何使用java从mysql过滤数据并将其显示在jtable中

C++ 查找所有 .wav 文件