ISO C ++標準

當提到 C++時,通常會引用標準。但究竟是什麼標準呢?

C++歷史悠久。作為 Bjarne Stroustrup 在貝爾實驗室內開展的一個小專案,到 90 年代初,它已經變得非常受歡迎。多家公司正在建立 C++編譯器,以便使用者可以在各種計算機上執行他們的 C++編譯器。但為了促進這一點,所有這些競爭編譯器應該共享該語言的單一定義。

那時,C 語言已成功標準化。這意味著編寫了該語言的正式描述。這是提交給美國國家標準協會(ANSI)的,該協會開放了該檔案供審查,隨後於 1989 年釋出。一年後,國際標準組織(因為它將使用不同語言的不同首字母縮略詞,他們選擇了一種形式,ISO,源自希臘語 isos,意思相同。)採用美國標準作為國際標準。

對於 C++,從一開始就清楚地表明存在國際利益。ISO 內的工作組已經啟動(在子委員會 22 中稱為 WG21)。這個工作組在 1995 年左右起草了第一個標準。但正如我們的程式設計師所知,計劃交付比最後一分鐘的功能更危險,而 C++也是如此。1995 年,一個名為 STL 的酷炫新庫浮出水面,在 WG21 工作的人們決定在 C++草案標準中增加一個精簡版本。當然,這導致錯過最後期限,僅 3 年後檔案就成了最終版本。ISO 是一個非常正式的組織,因此 C++標準被命名為 ISO / IEC 14882 的市場名稱。由於標準可以更新,這個確切的版本被稱為 14882:1998。

事實上,有人要求更新標準。標準是一個非常厚的文件,旨在準確描述 C++編譯器應該如何工作。即使是輕微的模糊性也值得修復,因此到 2003 年更新發布為 14882:2003。但是,這並沒有為 C++新增任何功能; 新功能計劃在第二次更新。

非正式地說,第二次更新被稱為 C++ 0x,因為不知道這是否需要到 2008 年或 2009 年。嗯 - 該版本也有一點延遲,這就是它成為 14882:2011 的原因。

幸運的是,WG21 決定不讓這種情況再次發生。C++ 11 很受歡迎,讓人們重新對 C++感興趣。因此,為了保持這種勢頭,第三次更新從計劃到出版 3 年,到 14882:2014。

這項工作也沒有止步於此。已經提出了 C++ 17 標準,並且已經開始了 C++ 20 的工作。