gpt4 book ai didi

c++ - 在 C++ 中为 vector 查找函数

转载 作者:太空宇宙 更新时间:2023-11-04 16:13:34 25 4
gpt4 key购买 nike

好吧,我是新手,我很难理解这一点。

我做了这段代码,

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main (void)
{
vector <int> a;
int i;
a.push_back(1);
a.push_back(2);
a.push_back(3);
a.push_back(4);
a.push_back(5);

vector <int>::iterator position = find(a.begin(),a.end(),6);
cout<<*position<<"\n";
return 0;
}

我到处都读到,find 函数如果没有找到任何内容,就会将迭代器返回到 vector 的末尾。所以,当我这样做并搜索 vector 中不存在的值 6 时,它应该将迭代器返回到 vector 的末尾,实际上是 5 .在打印实际值时,它应该打印 5 但它打印的是 0。为什么如果 find 在 vector 中找不到与该值相关的任何内容,它会将迭代器返回到最后一个值,然后它会打印 0

最佳答案

不,它不会返回 vector 的结尾,它会返回vector.end()

前者表示 vector 的最后一个元素,即 5。

后者 vector.end()past the end of the vector

这增加了一些困惑,因为 vector.begin()确实指向 vector 的第一个元素,但由于迭代这些容器的方式,这是必需的。

关于c++ - 在 C++ 中为 vector 查找函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25343720/

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