我正试图找到一种优雅的方式来找到一些文本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 次 |
最近记录: |