使用std::any_of检查向量中整数存在性时返回结果不一致的问题求助
std::any_of检查向量中整数存在性时返回结果不一致的问题求助
各位好,我碰到一个百思不得其解的问题:我写了两个功能相同的代码段,分别用std::any_of和std::find_if来判断某个整数是否存在于g.getEdges()返回的std::vector<int>里。
但反复运行测试的时候,std::any_of版本的返回结果总是飘忽不定,有时候能正确检测到存在,有时候又返回不存在;而std::find_if版本的结果却一直稳定,完全符合预期。
两个版本的代码逻辑大致如下(先说明下:g.getEdges()返回的是int类型的向量,this->s是一个int类型的成员变量):
(原本打算贴出两个版本的代码片段,但刚才粘贴的时候没弄完整,不过核心问题就是
std::any_of的结果不稳定,std::find_if完全正常)
有没有大佬能帮忙分析下可能的原因?会不会是我在使用std::any_of的时候犯了什么容易忽略的错误?
备注:内容来源于stack exchange,提问作者Yat Fung
相关产品推荐
相关产品推荐

