5
std::sort(range(c));

std::sort(c.begin(), c.end();

您是否期望下一个标准为标准算法提供范围重载?

Boost 的范围迭代器是类似的,iseq()TC++PL3e 中提到的 Bjarne Stroustrup 的也是同样的想法。我查看了我能找到的最新草案,但没有看到提到的范围重载。

4

2 回答 2

4

历史页面提供了部分答案。

必须迫切需要向std命名空间添加重载。请注意,这是一个库问题。您可以搜索档案以查找之前是否有人提出将这些添加到图书馆的请求。如果没有,您可以提交缺陷报告。当前的语言无论如何都不会阻止您编写自己的包装器。因此,问题归结为很多其他人是否也希望它作为标准库支持的功能。但这还不是全部。任何扩展,甚至是图书馆的扩展,不仅是一种技术选择,而且还受到许多其他地缘政治问题的指导。你必须有一定数量的选票才能进入。

坦率地说,我很乐意看到它进入。但是,请记住,这绝不是图书馆不能没有的小说/核心功能。所以,保持你的手指交叉。

于 2009-02-18T06:24:21.707 回答
0

基于范围的 for 循环是我能找到的唯一使用范围概念的标准草案。在我看来,大多数标准算法都可以支持 Ranges 似乎很自然,但在您链接的标准草案中没有提到它。

于 2009-02-18T15:15:03.973 回答