正如标题所说,有一些东西叫做Concepts Lite (模板约束)和STL 的概念设计。任何人都可以解释这些之间的一些根本区别吗?
问问题
159 次
1 回答
1
第一个引入了对 C++ 语言(核心)的更改,以提供表达模板限制的工具。为用户提供合理的检查、良好的错误消息以及为模板编写者提供简单的工具。
它将作为技术规范 (TS) 开发,预计到 2014 年中期,大约与 C++14 相同。编译器作者似乎也热衷于尽快发布它。
第二个是关于库的:由于显而易见的原因,当前的标准库不能使用尚未成为标准一部分的约束。但是一旦这部分是 bose 的,模板可以并且将会通过更原生的需求表达来改进。即目前它只写在模板参数必须是默认构造或可分配的文本中。因此,如果您使用 C++03 并且std::vector<std::auto_ptr<int> >
它只是 UB。但是对于概念化版本,此类问题将在编译时被诊断出来。
于 2013-06-07T16:29:26.663 回答