【问题标题】:What is C++ Technical Specification?什么是 C++ 技术规范?
【发布时间】:2014-01-24 20:39:29
【问题描述】:

Concepts-lite C++ (proposal N3701) 特性未包含在 C++1y 标准中,但据说它将作为技术规范发布。它到底是什么意思?它会自动成为下一个 C++ 版本的标准功能吗?

【问题讨论】:

  • 简而言之:这是委员会更有效地工作的一种方式。焦点小组可以制定技术规范。
  • @KarolyHorvath 但这对 C++ 的用户意味着什么?
  • @n.m.:您无需担心。这意味着语言和库将发展得更快。
  • 如果描述 C++ 标准的文档是一个程序,那么技术规范可以被认为是一个补丁/插件。

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


【解决方案1】:

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

从 2012 年开始,委员会已过渡到“脱钩” 主要工作独立于项目进行的模型 标准本身,可以异步交付的形式 与主要技术规范分开的技术规范 (TS) 标准,以后可以合并到标准中。和 针对 2014 年以后的版本,我们特别关注 生成新的 C++ 标准库;参加,见征集 提案和如何提交提案的说明。

这种解耦模型允许委员会交付更小的部分 以更快、更可预测的方式工作。去耦使这在 多种方式,包括每个 TS 的工作可以以自己的方式进行 速度,无需等待下一个标准即可更快交付, 并且可以以让社区获得经验的形式交付 使用该功能并可能在正式发布之前调整其设计 包含在实际标准中。解耦工作还允许 标准本身以更规律的节奏交付,更小 和更可预测的“批次”功能,这有助于编译器 更密切地跟踪标准并鼓励不同的编译器 以更一致的顺序添加新功能。

这对用户意味着什么:

您将能够从一个单独的命名空间使用这些新功能中的任何一个,我相信它将是std::experimental::fundamentals_v1*。一旦这些功能“完全成熟”,它们将被合并到 C++ 标准中并移动到 std 命名空间。

*:虽然看起来fundamentals_v1 将是一个内联命名空间,所以你可以在前面加上std::experimental

【讨论】:

  • 我以为他们会遵循相同的tr 模式(例如std::tr3::whatever)。不是这样吗?
  • @ZacHowland:这是解释它的latest draft
  • 谢谢。我还没有在草稿中看到它:)
猜你喜欢
  • 2011-10-16
  • 1970-01-01
  • 1970-01-01
  • 2012-01-01
  • 2019-12-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多