繁体   English   中英

如何通过迭代使迭代器表现得像类型?

[英]How to make iterator behave like a type through it iterates?

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

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

        }

印刷工作的很好,但我希望能够访问std::string的功能,即find因此,尽管我能写needle[index].find("sampleString"); 我希望能够使迭代器的行为与此类似。 那么如何制作类似*i.find("sampleString");

*i.find() ,但是运算符优先级意味着*i.find()不起作用。 它尝试取消引用i.find() ,而不是取消引用i然后在结果上调用find 使用以下最适合您的方法:

(*i).find("sampleString");
i->find("sampleString");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM