1

我想遍历一个搅拌向量并将所有输入与一个值进行比较。所以我创建了这个结构:

for (vector<string>::const_iterator i = needle.begin(); i != needle.end(); ++i) {         
            cout << *i << " ";

        }

打印工作正常,但我希望能够访问std::string函数,即find ,当我能够编写时,needle[index].find("sampleString");我希望能够使迭代器的行为与此类似。那么如何制作类似的东西*i.find("sampleString");呢?

4

1 回答 1

13

你快到了,但运算符优先级意味着这*i.find()不起作用。它尝试取消引用i.find(),而不是取消引用i然后调用find结果。使用其中最适合您的:

(*i).find("sampleString");
i->find("sampleString");
于 2013-04-16T14:10:40.460 回答