作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
据说将 Ranges TS 注入(inject)到 std
命名空间中会导致对标准库的一些破坏性更改(例如 this link )。有人知道这些变化是什么吗?
最佳答案
来自 N4569 Annex B(由@Holt 在上面的评论中链接):
算法返回类型 -- 修改为包括结束迭代器
更强的约束——过去只需要 <
的算法现在需要所有比较运算符
受约束的功能对象 -- 添加到 std::less
的类型等的约束。
迭代器和默认可构造性 -- Ranges_v3 假设迭代器可以默认构造(以一种有用的方式)。目前不需要。
iterator_traits
不能特化 -- 在 Range_v3 中,它是一个别名模板。
N3351 -- 它在许多方面也与 N3351 提案不兼容,我不会在这里讨论。
这只是一个总结。点击该论文的链接或找到它以获取更多详细信息。
关于c++ - 范围 TS 重大变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40891347/
不久前,我不小心将一个项目文件转换为 Visual Studio 2010(当然,没有源代码控制)。虽然没有重新创建项目文件(这将只需要大约 10 或 15 分钟),而是查看了典型的 2008 项目文
我是一名优秀的程序员,十分优秀!