C++ 发展如何了?

Jenny@FinTech社区 2021-05-03 01:16:43
简介




以下是2019年在C++发展过程中值得注意的主要事情:



C++ 20即将与广大用户群体见面

工具

C++的流行度保持稳定位置



时间线



下表有助于查看主要事件:




C++ 11/14的编译器支持



Clang(自3.4以来),GCC(自5以来)和英特尔(版本15)已经完全支持C++ 11/14。



VisualStudio团队宣布对C++ 11/14支持。现在,用户可以构建复杂的代码库,如boost::hana或range v3。由于C++ 11/14在所有主要编译器中都得到支持,所以没有任何借口不使用现代C++。



C++ 20



关于C++ 20的讨论今年占主导地位。2019年夏季,在Cologne ISO C++会议上,C++20的主要特征已经尘埃落定。后来,在贝尔法斯特,第一批国家机构的一些意见得到了解决。



总之,这意味着C++20在2020发布新标准的路上走得很好!



至于主要功能,我们可以列出以下几点:



模块

协程

标准库Concepts的概念

范围

constexpr支持:

new/delete, dynamic_cast, try/catch, virtual

constexpr向量和字符串!

Chrono:日历,时区支持

std::format

std::span

std::jthread



更重要的是,很多C++ 20的特性已经在流行的编译器中实现了。



完整列表与CPUPROCE:C++20编译器支持一样可用,但这里列举几个新特性:






工具



当编译器用C++代码做主要工作时,我们不能忘记其他工具的重要性。



以下是一些重要的工具,值得了解:



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

Clang Tidy

Clang-Include-Fixer

AddressSanitizer

MemorySanitizer

对于Visual Studio,用户可选择使用

Clang Power Tools-visualstudio Marketplace。



IDE和生产力:

视觉辅助 - 11月11日起的最新版本。

ReSharper C++ - 2019.3

CLion - 现在的版本是2019.3

CLion 2019.3-一个专注于性能和一些期待已久的增强的高质量目标发布

Cevelop1.13.0版本



代码分析器:

CppDepend v2019.3版

今年,该团队增加了对MISRA编码指导原则的支持,VS 2019年的支持、QT项目、简化UI、嵌入式项目支持。

PVS Studio

- 一个在程序的源代码中进行bug检测的工具,用C、C++和C语言编写。它在Windows和Linux环境下工作。

- 最新版本是PVS Studio 7.05,请参阅今年的所有发行说明。

- 今年的一些显著变化包括:分析.NET Core3和3.1项目、MISRA指南支持、40多项新检查、Java支持、SonarQube插件。



包管理器

Conan-提供1.21版

微软/vcpkg

VC++ 打包工具--Windows、Linux和Mac OS的开源C++库管理器。



受欢迎程度



C++在哪里流行?用户都被JavaScript分流了吗?



显然不是,因为在某些地方C++已经成长或保持在一个稳定的位置。



让我们看看一些图表/统计数据:



Tiobe在第四位显示C++。现在是6.196%……去年是7%多,两年前是5.5%。



在StackOverflow调查中C++位于第九位,排在C以上。(但排在Java、C#和JavaScript之下)。但对比去年的第十名,有所提升。



在GITHUB调查中,C++排在第六位,从去年的第五位下降。



但C++仍然很强大。虽然它并不完美,也不容易学习,但是很多代码仍然是用这种语言构建的。Rust或其他系统语言不会很快取代它。工具越来越好,语言的目的是减少复杂性,所以初学者的体验的也会越来越好。



以下是一个简单的调查问卷的统计结果,结果显示了关于 C++ 的使用情况,包括使用的标准库版本、工具的选择与对 C++20 新特性的使用等:



<在日常生活中,你使用哪种C++标准?>









总而言之,我们可以在未来十年积极地看待C++。不知道以后会发生什么,但是在接下来的十年里,相信C++应该是相对稳定的。所有的工具,新的C++标准编写的C++代码更容易访问,并且不易出错。C++仍然是需要性能的应用程序的最佳选择——它甚至取代C和FORTRAN。
...全文
41 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

65,186

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧