gpt4 book ai didi

c++ - 2019 年使用 C++20

转载 作者:搜寻专家 更新时间:2023-10-31 02:01:59 24 4
gpt4 key购买 nike

关闭。这个问题需要更多 focused .它目前不接受答案。












想改进这个问题?更新问题,使其仅关注一个问题 editing this post .

2年前关闭。




Improve this question




我正在开始一个新的 C++ 项目,我可能会在相当长的一段时间内(至少一年)进行并逐步扩展。我正在努力跟上 C++20 的步伐,我很想开始使用一些新功能。我并不真正关心支持多个编译器(GCC 或 Clang 就足够了)。到目前为止,我只是在试验其中的一些特性,但从未考虑在实际项目中使用 C++20 特性。

编辑:我最初的问题是关于 C++20 标准的当前状态及其对编译器的支持。我被要求缩小实际问题的范围,所以我会坚持使用 C++20 的主要原因:

我感兴趣的主要特征是概念。我用 -fconcepts 对 GCC 的概念进行了实验。旗帜。据我了解,这应该对应于概念 TS。但是当前标准中的概念状态如何?我注意到 TS 与我在 C++20 上找到的其他一些来源之间存在一些细微的语法差异。以一种在实际最终标准中有效的方式(至少很有可能)使用当前的 GCC 实现(或者可能是其他编译器,它会更好)是否现实?是否有任何可靠的来源来跟踪当前商定的概念规范和其他功能?

原来的问题:

C++20 标准的状态如何? 我什么时候可以期望它完成,或者至少处于我可以安全使用它而不必担心我的代码在最终标准中无效的状态?我用 cppreference作为我关于语言细节的主要信息来源。当它说 since C++20 ,这是否意味着它是一个将保留在标准中的最终版本?

C++20 的支持情况如何? 我什么时候可以期望它在 GCC、Clang 或 MSVC 中完全实现(或至少是最重要的部分)?特别是,概念和模块的状态如何?我知道 GCC 对 -fconcepts 的概念有实验性支持。 (尽管 cppreference 说它支持“仅 TS”)并且 GCC 的一个分支支持带有 -fmodules 的模块(但不适用于概念)。

最佳答案

C++20 标准,在灾难性的情况下,将在 2020 年完成。这不是火箭科学;)

C++20 草案在上次标准 session 上被指定为功能完整,因此通常不会添加新内容。特征被移除或有重大改变的可能性也很低,但非零。

至于对各种 C++20 特性的支持,这需要时间。不仅如此,上述支持还需要更多时间才能成熟。如果你只是想玩转 C++20 特性,那么很有可能在 2020 年的某个时候在一些编译器中为许多 C++20 特性这样做。但如果你想实际生产出稳定的产品,它会最好等到 2021 年或 2022 年编译器/库成熟。

与其他编译器相比,Visual Studio 实现功能的时间往往更长。但一般来说,他们实现库功能所需的时间更少,并且通常会在发布任何相关语言功能后立即这样做。相比之下,libc++ 和 libstdc++ 在完成库功能方面往往比它们各自的编译器在完成语言功能方面要慢得多。

同样在 C++20 方面,微软一直在大力插入协程和模块,目前两者都有最成熟的实现。因此,如果这就是您要寻找的东西,VS 可能会比其他人覆盖更多。

关于c++ - 2019 年使用 C++20,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58185100/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com