Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/153.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++ 何时将范围包括在c++;标准_C++_C++14 - Fatal编程技术网

C++ 何时将范围包括在c++;标准

C++ 何时将范围包括在c++;标准,c++,c++14,C++,C++14,我可以找到两个在C++中包含范围的建议: 相当老(2005年),并且 但是,我在当前的C++14草稿(N3690)中找不到任何关于范围的内容。这是否意味着它将不是C++14的一部分?如果是这样的话,为什么引入范围如此麻烦 这是否意味着它将不是C++14的一部分 是的,它确实不是C++14的一部分。不幸的是,没有人足够关心一项提案 如果是这样的话,为什么引入范围如此麻烦 很难说。有时,原因是不同的人对什么应该标准化以及如何标准化有不同的期望(请参见模块或概念),有时这只是因为功能的形式化要比紧迫性

我可以找到两个在C++中包含范围的建议: 相当老(2005年),并且

但是,我在当前的C++14草稿(N3690)中找不到任何关于范围的内容。这是否意味着它将不是C++14的一部分?如果是这样的话,为什么引入范围如此麻烦

这是否意味着它将不是C++14的一部分

是的,它确实不是C++14的一部分。不幸的是,没有人足够关心一项提案

如果是这样的话,为什么引入范围如此麻烦

很难说。有时,原因是不同的人对什么应该标准化以及如何标准化有不同的期望(请参见模块或概念),有时这只是因为功能的形式化要比紧迫性更复杂


此外,最常见的情况是Boost库被当作实验性的、原型标准实现;虽然在Boost.Thread、Boost.Function和Boost.Bind等库方面有足够的经验和共识,因此它们得到了相当顺利的标准化,但并非所有人都对Boost.Range感到满意,主要是因为它缺乏对函数式编程的广泛、高级支持。

只是猜测,但可能是因为我们已经有了迭代器对,所以它被认为是低优先级的。如果你浏览一下位于的邮件列表归档文件,你会发现1)现在发生的事情不多,2)没有人能真正同意任何事情。另外,如果你看一下布里斯托尔邮报的邮件,你会发现没有什么相关的东西:不,C++14不会发生。“为什么引入范围这么麻烦?”因为没有人真正知道范围是什么,应该是什么意思,等等。Ranges SG似乎分为Boost.Range阵营和相信Range应该是基本对象的阵营(又名:D.Range阵营),而不是仅仅是一对专门的迭代器。“缺乏对函数编程的广泛、高级支持。”这看起来像什么,是吗?@尼可博拉:像哈斯克尔一样。为什么我们要C++看起来像Haskell?还有,.@Nicolabolas:我们中的许多人都不这么认为,我会让你们回到“不同的人有不同的期望”这句话中。@Nicolabolas:我想,这是因为它富于表现力和强大的力量——而且由于懒惰的评估,它的效率相当高。请注意,这并不一定反映我自己的观点。我只是想弄明白为什么ranges没有进入C++14。谢谢你的链接,我不知道。