我正在查看 cpprefrence 但我没有看到任何有关执行循环顺序的信息。
我的问题:当我在
std::ranges::any_of
上拨打data.begin(), data.end()
时我确定,它会按顺序从begin()
到end()
并且停止一次true
?
我确定它按顺序从 begin() 到 end() 并且一旦为真就会停止吗?
不,没有这样的保证。
根据所述的复杂性:
最多最后 - 第一次应用谓词和投影。
该实现可以按照与您提到的顺序不同的顺序自由迭代。它也没有义务停止在谓词为真的第一个元素上。
话虽如此,您提到的是任何“正常”实施的非常合理的期望,我假设所有人都会遵循它(尽管正如我所说,这不是强制性的)。