Mar*_*cek 1 c++ iterator vector
我想迭代一个stirngs向量,并将所有输入与值进行比较.所以我创建了这个结构:
for (vector<string>::const_iterator i = needle.begin(); i != needle.end(); ++i) {
cout << *i << " ";
}
Run Code Online (Sandbox Code Playgroud)
打印工作正常,但我希望能够访问std::string函数,即find
所以当我能够编写时,needle[index].find("sampleString");我希望能够使迭代器的行为与此类似.那么如何做出类似的东西*i.find("sampleString");呢?
Mik*_*our 13
你几乎就在那里,但运算符优先级意味着它*i.find()不起作用.它试图取消引用i.find(),而不是取消引用i然后调用find结果.使用这些最适合您的方式:
(*i).find("sampleString");
i->find("sampleString");
Run Code Online (Sandbox Code Playgroud)