STL 中搜索算法的并行版本(例如 std::find、std::find_if)是否保证将迭代器返回到符合条件的范围内的第一个元素?
文档没有明确提及是否是这种情况 - 在“C++ 并发操作”中有一个具体不返回第一个元素的实现。
最佳答案
标准库算法的行为* 例如std::find
, std::find_if
在 C++ 标准中有明确规定。从 C++14 开始,并行算法的指定行为没有异常(exception)。这意味着假设的并行实现仍然需要遵守这些要求才能合规。
* 从评论来看,OP 指的是 C++ 标准库,而不是标准模板库。我做出区分是因为 STL 可能会定义一组不同的规则。
关于c++ - STL 并行搜索算法的保证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39815239/