据说,将Ranges TS注入std
命名空间会对标准库造成许多重大更改(例如this link)。有人知道这些变化是什么吗?
答案 0 :(得分:4)
来自N4569 Annex B(由@Holt在上述评论中链接):
算法返回类型 - 已修改为包含结束迭代器
更强的约束 - 以前需要<
的算法现在需要所有比较运算符
约束功能对象 - 添加到std::less
类型等的约束。
迭代器和Default-Constructibility - Ranges_v3假定迭代器可以默认构造(以有用的方式)。目前不需要这样做。
iterator_traits
无法专门化 - 在Range_v3中,它是别名模板。
N3351 - 它在很多方面也与N3351提案不符,我不会在这里讨论。
这只是一个总结。请点击纸张链接或查找详细信息。