【C++基础编程】#030 C++各代版本以及主要区别


和大家平时用的APP等一样,编程语言每隔一段时间也需要重新制定标准。

C++作为老牌编程语言,有着丰富的STL库以及比较规范的语法,是一个比较受欢迎且适合初学者接触编程时的第一个语言,本文简单介绍一下C++的主要版本更替,以及C++11标准和之前的有何区别。

版本更替

1. C++98

第一版ISO/IEC 14882:1998公开于1998年,通称C++98。

2. C++03

第二版标准ISO/IEC 14882:2003,在2003年提出,通称C++03,且与前一版本C++98差别不是很大。

3. C++11

第三版标准C++11,先前被称作C++0x,即ISO/IEC 14882:2011,通称C++11。最终于2011年8月12日公布,并于2011年9月出版[1]。

4. C++14

C++14是C++的现行标准的非正式名称,正式名称为"International Standard ISO/IEC 14882:2014(E) Programming Language C++"。C++14旨在作为C++11的一个小扩展,主要提供漏洞修复和小的改进[2]。

C++14标准的委员会草案(Committee Draft)N3690于2013年5月15日发表。工作草案(Working Draft)N3936已于2014年3月2日完成。最终的投票期结束于2014年8月15日,结果(一致通过)已于8月18日公布。

5. 未来版本

目前C++20的标准应该即将发布,未来还会有C++23,C++26…
在这里插入图片描述

C++11主要区别

C++11与之前的版本差别较大,增加了很多新的内容,本文仅举一些例子说明:

  1. 空指针(nullptr)取代了之前的NULL。
  2. 新增基于范围的for循环,详见【C++基础编程】#029 for循环中带冒号(:)用法简介
  3. 自动类型推断 auto,详见【C++基础编程】#025 关键字auto简介
  4. 匿名函数 Lambda,举例说明:
auto func = [](int i){ return i+4};// 可以体会auto的好处了
cout<< func(10) << endl;           //输出为14

参考:
[1] https://zh.wikipedia.org/wiki/C%2B%2B11
[2] https://zh.wikipedia.org/wiki/C%2B%2B14
[3] https://blog.csdn.net/csdnnews/article/details/84801593
[4] https://blog.csdn.net/FX677588/article/details/70157088

猜你喜欢

转载自blog.csdn.net/qq_39856931/article/details/106765234