gpt4 book ai didi

c++ - 如何通过迭代使迭代器表现得像一个类型?

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:13:16 25 4
gpt4 key购买 nike

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

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("sampleString");
i->find("sampleString");

关于c++ - 如何通过迭代使迭代器表现得像一个类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16039346/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com