什么是C ++技术规范?

时间:2014-01-24 20:39:29

标签: c++ c++14 c++-concepts

Concepts-lite C ++(提案N3701)功能未包含在C ++ 1y标准中,但据称它将作为技术规范发布。它究竟意味着什么?它会自动成为下一个C ++版本的标准功能吗?

1 个答案:

答案 0 :(得分:14)

我通常不喜欢复制粘贴答案,但我认为它很好地解释了here

  

从2012年开始,委员会已经过渡到“脱钩”   模型,主要工作进展独立于   标准本身,可以以形式异步交付   技术规格(TS)与主要产品分开   标准,以后可以纳入标准。同   以2014年为目标的发布,我们特别关注   生成新的C ++标准库;参加,请参阅呼吁   关于如何提交提案的提案和说明。

     

这种分离的模型允许委员会提供更小的部分   以更快,更可预测的方式工作。解耦可实现此目的   多种方式,包括每个TS的工作可以在哪些方面取得进展   速度,可以更快地交付而无需等待下一个标准,   并且可以以让社区获得经验的形式提供   具有该功能并可能在正式之前调整其设计   包含在实际标准中。解耦工作也允许   标准本身以较小的规则以更规则的节奏交付   以及更可预测的“批量”功能,这有助于编译器   更密切地跟踪标准并鼓励不同的编译器   以更一致的顺序添加新功能。

这对用户意味着什么:

您可以使用我认为将std::experimental::fundamentals_v1 *的单独命名空间中的任何这些新功能。一旦这些功能“完全烘焙”,它们将被合并到C ++标准中并移至std命名空间。

*:虽然看起来fundamentals_v1将是一个内联命名空间,但您可以只添加std::experimental