我正试图找到一种优雅的方式来找到一些文本ex."hello world"从句子"I compiled my first hello world. It works!"
但这句话std::list<word>带有一些元数据.
Class Word
{
std::string m_word;
Location ... (X,Y in a picture)
....
}
Run Code Online (Sandbox Code Playgroud)
只是想知道是否有一些很好的方法来做一些std或boost函数而不是我的2个丑陋的循环.谢谢!
您可以std::search与仅比较m_word成员的自定义谓词一起使用:
bool wordsEqual(const Word& a, const Word& b) {
return a.getWord() == b.getWord();
}
// ...
Word needle[] = { "hello", "world" };
list<Word>::iterator it = search(lst.begin(), lst.end(),
needle, needle + 2,
wordsEqual);
Run Code Online (Sandbox Code Playgroud)
此代码假定数组初始化的getWord方法和构造Word(const char*)函数.
| 归档时间: |
|
| 查看次数: |
212 次 |
| 最近记录: |