本文介绍了什么是C ++技术规范?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Concepts-lite C ++(建议N3701)功能未包含在C ++ 1y标准中,但据说它将作为技术规范发布。这到底是什么意思?

Concepts-lite C++ (proposal N3701) feature is not included in C++1y standard, but it is said it will be published as Technical Specification. What does it exactly mean? Will it automatically become a standard feature in next C++ releases?

推荐答案

我通常不喜欢复制粘贴的答案,但是我通常会自动将其成为下一个C ++版本的标准功能吗?认为解释得很好:

I usually don't like copy-paste answer's, but I think it is pretty well explained here:

这种分离的模型允许委员会交付较小的
以更快,更可预测的方式工作。去耦可以通过
a的多种方式实现,包括每个TS的工作可以自己的
速度进行,可以在不等待下一个Standard
的情况下更快地交付,并且可以以某种形式交付这样一来,社区就可以使用该功能获得
的体验,并可以在其正式纳入实际标准中的
之前调整其设计。将工作脱钩还可以使
标准本身以更常规的节奏发送,具有较小的
和更可预测的功能批次,这有助于编译器
更加紧密地跟踪标准并鼓励不同的标准
的编译器以更一致的顺序添加新功能。

This decoupled model allows the committee to deliver smaller pieces of work in a faster and more predictable way. Decoupling enables this in a number of ways, including that each TS’s work can progress at is own speed, can be delivered sooner without waiting for the next Standard, and can be delivered in a form that lets the community gain experience with the feature and possibly adjust its design before it is formally included in the actual Standard. Decoupling the work also allows the Standard itself to be delivered on a more regular cadence with smaller and more predictable "batches" of features, which helps compilers track the Standard more closely and encourages different compilers to add new features in a more consistent order.

这对用户意味着什么:

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

You will able to use any of these new features from a separate namespace which I believe will be std::experimental::fundamentals_v1*. Once these features are "fully-baked", they will be incorporated into the C++ standard and moved to the std namespace.

*:尽管看起来 fundamentals_v1 将是一个内联命名空间,所以您可以在<$ c $之前添加前缀c> std :: experimental 。

*: Although it looks like fundamentals_v1 will be an inline namespace, so you can just prepend std::experimental.

这篇关于什么是C ++技术规范?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-31 00:12