Jenny12 发表于 2021-5-4 22:10:33

C++ 发展如何了?

●简介 ●



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



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

工具

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



●时间线 ●



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



https://mmbiz.qpic.cn/mmbiz_png/sM7uNzR5BoucNMjp3Dria9ZuVtpLdzP49lx3fw6pemOugwpRoR29T1jRLAO9bvvpfibFAQzulE5eWXK0GXMHm5qw/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1
●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编译器支持一样可用,但这里列举几个新特性:



https://mmbiz.qpic.cn/mmbiz_png/sM7uNzR5BoucNMjp3Dria9ZuVtpLdzP49vP8KypXzWrspsmPpKibeOUzf2MRK7fmwO3v9TEnGFoFsaicib41cK4m4w/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1


●工具 ●


当编译器用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++标准?>



https://mmbiz.qpic.cn/mmbiz_png/sM7uNzR5BoucNMjp3Dria9ZuVtpLdzP49R4x3kwibXj5gT0Eiar8aM9kqsSKEV58W1O2BqAibnrAbCdI3jje6sBO5Q/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

https://mmbiz.qpic.cn/mmbiz_png/sM7uNzR5BoucNMjp3Dria9ZuVtpLdzP49nCVhfNTiadlqhoAW7fYFnjLJBrNXAwTcBkGocvbFgOYBlck2s9G5VQw/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

https://mmbiz.qpic.cn/mmbiz_png/sM7uNzR5BoucNMjp3Dria9ZuVtpLdzP49ibbNbfP9iaoa0RPhAcciaswtmHV8gkC7FFxGCq5ibhOe5Sof9Jb6LSYA0Q/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1


总而言之,我们可以在未来十年积极地看待C++。不知道以后会发生什么,但是在接下来的十年里,相信C++应该是相对稳定的。所有的工具,新的C++标准编写的C++代码更容易访问,并且不易出错。C++仍然是需要性能的应用程序的最佳选择——它甚至取代C和FORTRAN。
页: [1]
查看完整版本: C++ 发展如何了?