gpt4 book ai didi

c++ - 如何在 vector 中搜索元素?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:06:46 25 4
gpt4 key购买 nike

我有这样的代码....

std::vector<string>::iterator p;
p = find(v.begin(),v.end(),"asdasda");
cout << *p << endl;

如果“asdasda”不是 vector 的一部分,p 指向一些垃圾并且 cout 给出段错误。只有找到“asdasda”才能使 cout 执行的 if 语句应该是什么?以及“asdasda”在 v.. 中的位置,就像我们之前将 v[3] 声明为“asdasda”一样,那么我如何从 find 中知道 v[3] 是“asdasda”呢?

最佳答案

p 不指向“垃圾”,当找不到内容时,它只是变成了 v.end()

if (p != v.end()) {
std::cout << "v[" << (p - v.begin()) << "] = ";
std::cout << *p << std::endl;
}

关于c++ - 如何在 vector 中搜索元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4243160/

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