【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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章