总结C++在2019年的那些发展~

总结C++在2019年的那些发展~

在2019年7月,ISO WG21委员会批准了C++ 20的完整草案,11月获得批准,意味着C++ 20将会在今年成为标准。

C++ 软件工程师 Bartek 发布博客,回顾了 C++ 2019 年的发展情况。

总结C++在2019年的那些发展~

Bartek 主要介绍了 2019 年 C++ 特性上的演进、在全球的会议重大进展、相关工具的改进,以及 C++20 新特性的期待。

他总结成三大关注点:

  • C++20 即将发布

  • 工具,现在编写 C++ 代码更加容易

  • C++ 在开发者中的稳定地位

从下表可以看出来,在 2019 年,C++ 社区做了许多事情,像我们关注的新特性方面的进展也有不少,比如 Clang 8.0.0、9.0.0 发布、VS 2019 发布与 GCC 9.1 发布等。

总结C++在2019年的那些发展~

简单总结起来,从 Clang 5.0、GCC 8.0、Visual Studio 15.7 和 Intel C++ Compiler 19.0.1 开始,所有编译器都支持 C++ 语言特性。

虽然 C++ 标准库需要其它支持,特别是并行算法和文件系统之类的要点。std::filesystem需要使用到 GCC 8.1(或更高版本的 GCC 9.1)、Clang 3.9(或更高版本 7.0)和 Visual Studio 2017 15.7。

并行算法更新最早在 Visual Studio 2017 15.7 中可用,但随着之后的更新,MSVC 团队添加了更多算法。

关于 C++20 的讨论在今年占据主导地位,目前特性已经冻结,主要特性包括:

  • 模组

  • 协程

  • 标准库 Concepts 的概念

  • 范围

  • constexpr支持:newdeletedynamic_casttrycatch,虚拟

  • constexpr 向量和字符串

  • 计时:日历、时区支持

  • std::format

  • std::span

  • std::jthread

目前流行的编译器已经实现了许多 C++20 特性。Bartek 列了一个 C++20 新特性的小表:

总结C++在2019年的那些发展~

工具方面,首先 Visual Studio 对 C++ 提供了众多新的支持,包括:

  • 使用 Visual Studio IntelliCode 的 AI 辅助代码补全。

  • C++ MSBuild 和 CMake 项目中对 Clang 和 MSVC 的 Clang-Tidy 的支持。

  • AddressSanitizer 支持 Windows 上使用 MSVC 编译的项目。

  • 与 CMake 更好地集成。

  • Concepts 在 16.3 中可用。

  • 全面的to_chars()支持,满足了 C++ 17 的要求。

  • 提供了一个名为 C++ Build Insights 的新工具集合。

Clang/LLVM 提供了许多强大的实用程序,比如:

  • Clang Tidy

  • Clang-Include-Fixer

  • AddressSanitizer

  • MemorySanitizer

代码分析器 CppDepend v2019.3 增加了对 MISRA 编码准则的支持,VS 2019 支持、QT 项目、简化的 UI、嵌入式项目支持。

PVS-Studio,这是一个使用 C/C++ 和 C# 编写的程序源代码中的错误检测工具,2019 年的一些显着变化包括 .NET Core 3 和 3.1 项目分析、MISRA 准则支持、40 多项新检查、对 Java、SonarQube 插件的支持。

包管理器 Conan 与 Microsoft/vcpkg 也都有一些新变化。

最后 Bartek 介绍了 2019 年 C++ 在开发者人群中的地位依然稳定:

  • TIOBE 编程语言排行榜中 C++ 排到了第 4 位。

  • 在 StackOverflow 调查中,C++ 位于 C 上方的第 9 位。

  • 在 GitHub 的调查中,C++ 排名第 6。

除了这些榜单,Bartek 自己也做了一个简单的调查问卷,结果显示了关于 C++ 的使用情况,包括使用的标准库版本、工具的选择与对 C++20 新特性的使用等:

总结C++在2019年的那些发展~

总结C++在2019年的那些发展~

总而言之,我认为未来十年我对C ++持乐观态度。不知道以后会发生什么,但是在接下来的十年中,我相信C ++应该处于相对稳定的位置。

完整回顾内容查看原博客:

https://www.bfilipek.com/2019/12/cpp-status-2019.html

总结C++在2019年的那些发展~

1.酷!程序员名片运行Linux,成本20¥

2.美军使用 Linux,信任开源

3.一种Cortex-M内核中的精确延时方法(ns级别)

4.欧美嵌入式技术、MCU 和开发工具市场分析~

5.QEMU!用它模拟开发板能替代真开发板?

6.为什么嵌入式工程师会对8位MCU有误解?

总结C++在2019年的那些发展~

免责声明:本文系网络转载,版权归原作者所有。如涉及作品版权问题,请与我们联系,我们将根据您提供的版权证明材料确认版权并支付稿酬或者删除内容。