在阅读 C++ 书籍时,我遇到了以下关于使用迭代器的示例:
vector<string::iterator> find_all(string& s, char c)
{
vector<string::iterator> res;
for(auto p = s.begin(); p != s.end(); ++p)
if(*p == c)
res.push_back(p);
return res;
}
void test()
{
string m {"Mary had a little lamb"};
for(auto p : find_all(m, 'a'))
if(*p != 'a')
cerr << "a bug!\n";
}
我对find_all()返回的向量包含的内容有点困惑。它本质上是指向在它上面创建的字符串m的元素的“指针”吗?
谢谢。