最近,TIOBE编程社区指数发布1月头条-- C++成为2022年TIOBE年度编程语言。在之前2022年12月的榜单中,TIOBE曾预测C++、Python、C三门语言当中会有一个成为年度编程语言。如今C++脱颖而出,成为TIOBE 2022年度编程语言的最终获得者!附:TIOBE编程社区指数是编程语言受欢迎程度的一个指标。该指数每月更新一次。TIOBE表示之所以是C++获得这一头衔是因为它在2022年获得了最受欢迎的人气(+4.62%)。紧随其后的是C语言(+3.82%)和Python(+2.78%)。近段时间来,C++ 的发展有目共睹,在上个月甚至首次超过了 Java,位居榜单第三的位置。现如今之所以赢得年度编程语言的称号,TIOBE 官方也进行了总结与回顾。
“C++受欢迎的原因是它作为一种高级面向对象语言的出色性能。正因为如此,用C++开发快速而庞大的软件系统(超过数百万行代码)是可能的,而不必最终陷入维护的噩梦。”
C++崛起的另一个原因是它“最近”不断发布具有有趣特性的新语言标准。第一个里程碑被称为C++ 11。2011年发布,这是自1998年以来的第一次重大变化。这个新标准的采用花了几年时间,因为没有可用的C++编译器来支持新的语言定义。自2001年以来,C++在TIOBE指数中一直处于持续下降的状态,由于C++ 11的出现,现在它正在缓慢地上升。第二个里程碑是最近发布的C++ 20,例如引入了模块。它可能会在接下来的几年里进一步提升C++的TIOBE指数。C++成为2022年TIOBE年度编程语言,主要是基于该项编程语言在实际开发中的应用发展。
其不断发布的新语言标准也影响着信奥赛事语言使用的新变化,比如最近一次,21年CCF NOI科学委员会发布了关于NOI系列活动中编程语言使用限制的补充说明。

这次补充说明,给同学们提供了更多C++的语言特性,可用模板也大大增加。
关于该补充说明我们在往期的推文中做过详细分析,这里主要总结一下从C++98到C++14语言特性的新变化,各位同学注意关注。其他分析可查看文末往期推文。1)auto
auto作为新的类型指示符,用于自动推导,特别是命名空间、模板等导致类型很长的时候,非常方便。auto的自动推导,用于从初始化表达式中推断出变量的数据类型。在C 标准(2011)的最新修订版中已明确地从其规范中删除了此功能。该函数在C++中已被弃用(从2011标准开始,遵循C99+TC3)。在C++11中,出现了range for(范围for)语句,对于遍历给定序列中的每个元素并对序列中的每个值执行某种操作是非常方便的。for(declaration : expression)
{
statement;
}
其中,expression部分是一个对象,用于表示一个序列;declaration部分负责定义一个变量,该变量将被用于访问序列中的基础元素。每次迭代,declaration部分的那个变量,将被初始化为expression部分的下一个元素值。
4)Lambda函数和算法
Lambda表达式改变了游戏规则,它会时不时的改变你的编码方式,这种方式优雅并且快速。Lambda使现存STL算法实用性提高了百倍。
新增加的C++库的设计都以支持lambad表达式为前提(例如:PPL),甚至有一些库需要通过你编写lambda表达式来它(例如:c++ AMP)。
这里有个例子,找到v中的>X并且<Y的第一个元素。在C++11中,最简单并且干净的代码是使用标准算法。

5)Move功能
在C++11中,标准库在<utility>中提供了一个有用的函数std::move,std::move并不能移动任何东西,std::move是将对象的状态或者所有权从一个对象转移到另一个对象,只是转移,没有内存的搬迁或者内存拷贝,可以避免不必要的拷贝操作。
添加 家长论坛微信
全部 0条评论