Concepts-lite C ++(提案N3701)功能未包含在C ++ 1y标准中,但据称它将作为技术规范发布。它究竟意味着什么?它会自动成为下一个C ++版本的标准功能吗?
答案 0 :(得分:14)
我通常不喜欢复制粘贴答案,但我认为它很好地解释了here:
从2012年开始,委员会已经过渡到“脱钩” 模型,主要工作进展独立于 标准本身,可以以形式异步交付 技术规格(TS)与主要产品分开 标准,以后可以纳入标准。同 以2014年为目标的发布,我们特别关注 生成新的C ++标准库;参加,请参阅呼吁 关于如何提交提案的提案和说明。
这种分离的模型允许委员会提供更小的部分 以更快,更可预测的方式工作。解耦可实现此目的 多种方式,包括每个TS的工作可以在哪些方面取得进展 速度,可以更快地交付而无需等待下一个标准, 并且可以以让社区获得经验的形式提供 具有该功能并可能在正式之前调整其设计 包含在实际标准中。解耦工作也允许 标准本身以较小的规则以更规则的节奏交付 以及更可预测的“批量”功能,这有助于编译器 更密切地跟踪标准并鼓励不同的编译器 以更一致的顺序添加新功能。
这对用户意味着什么:
您可以使用我认为将std::experimental::fundamentals_v1
*的单独命名空间中的任何这些新功能。一旦这些功能“完全烘焙”,它们将被合并到C ++标准中并移至std
命名空间。
*:虽然看起来fundamentals_v1
将是一个内联命名空间,但您可以只添加std::experimental
。