c – 如何在向量中搜索元素?

前端之家收集整理的这篇文章主要介绍了c – 如何在向量中搜索元素?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这样的代码….
std::vector<string>::iterator p;
p =  find(v.begin(),v.end(),"asdasda"); 
cout << *p << endl;

如果“asdasda”不是向量的一部分,则p指向一些垃圾,cout给出一个seg错误.什么应该是if声明会使cout执行onlyif“asdasda”被发现?
以及“asdasda”在v中的位置…就像我们之前宣称v [3]为“asdasda”一样,
那我怎么知道v [3]是“asdasda”?

解决方法

p不指向“垃圾”,当找不到内容时它只是变成v.end().
if (p != v.end()) {
   std::cout << "v[" << (p - v.begin()) << "] = ";
   std::cout << *p << std::endl;
}

猜你在找的C&C++相关文章