有没有一种很好的方法可以将以下代码简化为带有 C++ 和潜在提升库的单行代码。我基本上有一个以 title() 作为成员函数的消息列表。我想知道列表中是否存在具有给定标题的消息。
std::string title = "some title";
bool unique = true;
BOOST_FOREACH(Message& m, messages) {
if (m.title() == title) {
unique = false;
break;
}
}
如果您熟悉 C# Linq,以下的 C++ 版本会很棒:
unique = (messages.FirstOrDefault(m => m.title() == title) == null);
不幸的是,我不能使用 C++11,但如果你有 C++11 示例,我很想看看它以供将来参考。
提前致谢。