STL中的并行搜索算法(例如std::find, std::find_if)是否保证返回迭代器到匹配条件范围内的第一个元素?
文档没有明确提到这种情况-在' c++并发操作'中有一个具体的实现,使不返回第一个元素。
标准库算法*如std::find
, std::find_if
的行为在c++标准中有很好的规定。从c++ 14开始,并行算法的指定行为没有例外。这意味着假设的并行实现仍然需要尊重这些需求,以便兼容。
*在注释中,OP表示c++标准库,而不是标准模板库。我这样做是因为STL很可能定义了一组不同的规则。