gpt4 book ai didi

c++ - 如何正确地从 vector 的一部分中找到一个值?

转载 作者:行者123 更新时间:2023-11-30 01:44:04 24 4
gpt4 key购买 nike

我原以为下面的代码应该只打印出“2 is found”,然而它却同时打印出两个。第二个不应该发生,因为 4 不在 vector 的前 3 个元素中。我哪里弄错了?

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main()
{
vector<int> a = {1,2,3,4,5};
if(find(a.begin(),a.begin()+3,2) != a.end()) cout << "2 found" << endl;
if(find(a.begin(),a.begin()+3,4) != a.end()) cout << "4 found" << endl;
}

结果:

2 found
4 found

最佳答案

find如果未找到该值,则返回您传递给它的结束/“最后”值,在本例中为 not a.end()。代码应该比较 a la ... != a.begin() + 3...

关于c++ - 如何正确地从 vector 的一部分中找到一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36854523/

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