微軟的新編譯器增加了對C++11特性的支持
英文原文:Microsoft's New Compiler Increases C++11 Compliance
在 Build 2012 開發者大會上,Herb Sutter 就微軟對C++11和 C++ 社區的總體支持做出了一項重要宣布。當微軟發布 VS2012 時,他們保證該產品的架構就是為支持帶外發布而設計的,以便使新特性能夠更快速地進入市場。不過, Sutter 也讓公眾了解到,為了改進 Visual C++ 對全部C++11標準的支持,2012年 11 月的 CTP 版本包含了一個新的編譯器。雖然尚不完整,但是可以看到微軟的進步。
在介紹該更新時,Sutter 評論說,“在微軟,我們喜愛 .NET,也喜愛 HTML5 和 JavaScript,但是很多工作是構建于 C++ 之上的”。為了強調這一支持,他指出相對于過去用C編寫 Windows,現代 Windows 對 C++ 的依賴越來越多了。
這點很重要,在 Sutter 看來,在微軟只有一個團隊是其他團隊都要依賴的——“每個團隊都(直接或間接地)依賴于 Visual C++”。這個預覽版提供了以下新特性:
- 顯式類型轉換運算符
- 原始的字符串字面量
- 函數模板默認參數
- 委托構造函數
- 統一的初始化與 initializer_list(CTP 尚不支持 vector 初始化語法)
- 變長參數模板 </ul>
Sutter 很快又指出,這次發布的編譯器只是一個預覽版,也就是說不應該將其用于產品代碼中。(該預覽版可以與 VS2012 Express for Desktop 一起使用。)
CTP(正式名稱是“Visual C++ Compiler November 2012 CTP”)目前已經可以從微軟的網站下載了。微軟的 Stephan T. Lavavej 在 Channel 9 發布了一個介紹這些新特性的教程。
Sutter 提到微軟會繼續為 VS2012 提供帶外更新,有關C++11的更多更新會在 2013 年上半年提供。
ISO C++ 發布時間表加快
Sutter 不僅宣布了 CTP,他還提到:微軟、Google、IBM 和 Intel 聯合其他一些公司和組織成立了標準 C++ 基金會,致力于 C++ 語言的推廣、指導和開發。 基金會的創始人包括 Herb Sutter、Bjarne Stroustrup、Chandler Carruth(Google)、Beman Dawes(Boost)、Michael Wong(IBM)和 Stefanus Du Toit(Intel)等。
Sutter 還說到,一個新的主要 C++ 標準——C++17——計劃于 2017 年發布。 2014 年將會發布一個小的升級版本。這說明相對于之前的發布節奏(C++ 98、 C++03 和C++11),標準化進程將大大加速。
為了使新 C++ 的信息更為透明以及向大眾公布相關新聞,Sutter 還宣布了 isocpp.org 網站,他將其描述為“實現 C++ 同盟的大本營”。該網站的目標是讓標準化過程更為透明并且能夠開放地交流,還能為對現代 C++ 開發有興趣的人提供最新的有用信息。