和大家平時用的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與之前的版本差別較大,增加了很多新的內容,本文僅舉一些例子說明:
- 空指針(nullptr)取代了之前的NULL。
- 新增基於範圍的for循環,詳見【C++基礎編程】#029 for循環中帶冒號(:)用法簡介
- 自動類型推斷 auto,詳見【C++基礎編程】#025 關鍵字auto簡介
- 匿名函數 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