我有一个 std::vector 并且我想检查一个特定的属性 每个元素。 SomeStruct 有一个属性“类型”。我想检查这个属性 为 Type1 或 Type2。
我的计划是使用 boost::lambda。
std::vector<SomeStruct>::const_iterator it =
std::find_if(
vec.begin(), vec.end(),
_1.type == SomeStruct::Type1 || _1.type == SomeStruct::Type2);
因为我需要访问每个元素的特定属性,所以我不确定我是否可以 完全使用 boost::lambda。
有什么提示吗?
最佳答案
std::find_if(
vec.begin(), vec.end(),
bind(&SomeStruct::type, _1) == SomeStruct::Type1 ||
bind(&SomeStruct::type, _1) == SomeStruct::Type2);
关于c++ - 如何将 boost::lambda 与 std::find_if 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1346287/