【发布时间】:2013-06-18 15:30:49
【问题描述】:
我可以找到两个在 C++ 中包含范围的建议: N1871 相当老了(2005 年),N3513
但是,我在当前 C++14 草案 (N3690) 中找不到任何有关范围的信息。这是否意味着它不会成为 C++14 的一部分?如果是这样,为什么引入范围这么麻烦?
【问题讨论】:
-
只是猜测,但可能是因为我们已经有了迭代器对,所以它被认为是低优先级。
-
如果您浏览位于open-std.org/pipermail/ranges 的 Ranges 邮件列表存档,您会发现 1) 目前没有发生太多事情,并且 2) 没有人能真正就任何事情达成一致。此外,如果您查看布里斯托尔后的邮件,您会发现没有任何相关内容:isocpp.org/blog/2013/05/… 所以不,不会发生在 C++14 中。
-
“为什么引入范围这么麻烦?”因为没有人真正知道范围是什么,应该是什么意思等等。 Ranges SG 似乎分为 Boost.Range 阵营和认为 Ranges 应该是基本对象的阵营(又名:D.Range 阵营),而不仅仅是一对专门的迭代器。