ISO Standard for C++

C++, one of the most popular programming languages, used in everything from Web browsers to 3D video games, has been fully updated and published as, ISO 14882:2011, Information technology – Programming languages – C++.

ISO 14882:2011 defines the programming language and specifies requirements for implementation. Also known as C++11, this is the first major revision of the standard since 1998. Its new features extend C++’s traditional strengths of flexibility and efficiency – for example, lambda functions and move semantics. Variadic templates further enable developers to use powerful expressiveness and strong abstraction to write efficient, high-performance code with full access to the hardware available when needed. Even more, the new C++11 has the convenience and ease of use of other modern languages – from features like auto type deduction and explicit virtual override control, to standard smart pointers.

According to Herb Sutter, Convener of the ISO working group that developed the standard, industry has paid more attention in recent years to “newer” managed-code environments like Java that emphasize programmer convenience at the expense of expressive power and performance, for example, by requiring always-on garbage collection, metadata for reflection, and virtual machine execution that incur a performance expense even when they’re not needed or used.

Mr. Sutter says, “Those languages continue to have their place. However, ‘traditional’ programming using native languages like C++, which emphasize expressive power and a pay-as-you-go philosophy of avoiding performance overheads unless features are actually used in the program, never really went away – and now with C++11’s improvements that incorporate many of the best features of managed languages, modern C++ code is as clean and safe as code written in other modern languages, as well as fast with performance by default and full access to the underlying system whenever you need it.

“This new edition underlines the continued importance of this popular language, whose new features and increased performance are causing renewed excitement in the industry. C++ continues to be used for just about everything, including for building compilers and runtimes for competing languages, Web browsers like Google’s Chrome, social media platforms like Facebook, and operating systems like Windows.”

C++ is a general purpose programming language based on the C programming language. In addition to the facilities provided by C, C++ provides additional data types, classes, templates, exceptions, namespaces, operator overloading, function name overloading, references, free store management operators, and additional library facilities.

“C++ remains one of the most valuable tools at the disposal of developers, and is the language of choice for demanding applications in almost every domain,” says Mr. Sutter. “With this new edition, users will benefit from the joint effort of experts from all over the world, who worked together to develop an updated and better International Standard that harmonizes and disseminates best practice.”

ISO 14882:2011, Information technology – Programming languages – C++, is available from the ANSI e-Standards Store.