Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Microsoft's New Compiler Increases C++11 Compliance

Microsoft's New Compiler Increases C++11 Compliance

This item in japanese

On Friday Microsoft's Herb Sutter made a big announcement regarding the company's support for C++11 and the C++ community as a whole. When the company released VS2012, it was promised that its architecture was designed to support out-of-band releases bringing new features to the market quicker. However, Sutter's announcement marked the public unveiling of the November 2012 CTP which contains a new compiler that improves Visual C++'s support for the full C++11 standard. While not complete, it indicates the company is moving forwards.

During his introduction to the updates, Sutter commented that "[at] Microsoft we love [.NET], we love HTML5 and JavaScript, [but] we are built on C++". To provide further emphasize this support, he noted that more and more of modern Windows is written in C++ versus the C of Windows past.  

This is important because in Sutter's opinion there is only one team that every other team depends on at Microsoft-- "every team (transitively) depends on Visual C++". That said, here are the new features available in this preview:

  • Explicit Conversion Operators
  • Raw String Literals
  • Function Template Default Arguments
  • Delegating Constructors
  • Uniform Initialization and initializer_lists (Vector initialization syntax not yet in CTP)
  • Variadic Templates

Sutter was quick to point out that this is compiler only release, and it is a preview-- it should not be used with production code. (This preview is supported for use with VS2012 Express for Desktop.)

The CTP, formally titled "Visual C++ Compiler November 2012 CTP", is available from Microsoft now. Microsoft's Stephan T. Lavavej has released a new tour on Channel 9 that provides an overview of these new features.

Sutter remarks that Microsoft will continue to deliver out-of-band updates to VS2012, and that more C++11 updates will be forthcoming in the first half of 2013.

Up-Tempo ISO C++ Release Schedule

The CTP isn't the only announcement-- Microsoft, Google, IBM, Intel, and several other companies and organizations have united to form the Standard C++ Foundation in an effort to promote, guide, and develop the C++ language. The founding directors of this organization are Herb Sutter, Bjarne Stroustrup, Chandler Carruth (Google), Beman Dawes (Boost), Michael Wong (IBM), and Stefanus Du Toit (Intel).

Sutter discussed that a new major C++ standard, C++17, has been scheduled for release in 2017. C++ will see a minor release scheduled for deployment in 2014. This represents a significant speed-up from prior release cadences (C++ 98, C++03, and C++11).

To broaden exposure and promote news about new C++ information, Sutter also announced, which he described as "a home base for C++'s Rebel Alliance model". This site is intended to provide transparent and open communication about the standardization process as well as the latest useful information to those interested in modern C++ development.

Rate this Article