Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/145.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ std::equal_范围是否需要严格的弱排序?_C++_Stl_Partitioning - Fatal编程技术网

C++ std::equal_范围是否需要严格的弱排序?

C++ std::equal_范围是否需要严格的弱排序?,c++,stl,partitioning,C++,Stl,Partitioning,我看到一些关于旧的、非标准的equal_范围的文档,它们显式地调用了严格的弱排序,即旧的SGI文档和一些新的、不引用libstdc++文档的标准equal_范围 函数是否发生了变化,以至于它过去需要严格的弱排序,而现在需要。。。某些没有适当名称的分区?std::equal_range要求所检查的序列必须由表达式prvalue、N和prN、value进行分区,其中pr是谓词,value是要查找相等范围的值,N是序列的元素 对于序列,这是一个比要求序列必须以严格弱序排序更弱的条件。它只需要有一个分区

我看到一些关于旧的、非标准的equal_范围的文档,它们显式地调用了严格的弱排序,即旧的SGI文档和一些新的、不引用libstdc++文档的标准equal_范围

函数是否发生了变化,以至于它过去需要严格的弱排序,而现在需要。。。某些没有适当名称的分区?

std::equal_range要求所检查的序列必须由表达式prvalue、N和prN、value进行分区,其中pr是谓词,value是要查找相等范围的值,N是序列的元素


对于序列,这是一个比要求序列必须以严格弱序排序更弱的条件。它只需要有一个分区点P,其中PRN,值返回P之前的所有元素N的真值,PR值,N返回P或P之后序列中所有元素的假。例如,序列[2, 1, 5,4 ]被旧的SGI文档分区为STL的DOC,而不是C++标准库。类似地,Boost DOCS是BOOST的DOCS,而不是C++标准库。它们是没有关系的。谢谢,编辑的问题……好,好的Studio是一个很好的例子,说明为什么我们不应该混淆STL和C++标准库。顺便说一下,用谓词划分的可能不够精确。正如您在第二段中所述,这仅限于传递给equal_range的值。例如,[2,1,5,4]被分区为wrt std::less,值为3。@dyp-我很累,我的脑子乱七八糟。所以请随意编辑我的答案来解决这个问题。我可能已经过火了。请检查更改。规范[2,1,3,5,3,4]中可能存在缺陷[2,1,3,4]已分区为wrt@dyp-我认为您的更改没有问题。事实上,如果你想剪切粘贴这个作为你自己的答案,我会删除我的。