std::vector<string>::iterator p;p = find(v.begin(),v.end(),"asdasda"); cout << *p << endl;@H_404_4@如果“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 – 如何在向量中搜索元素?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)