CHAPTER 12

image

C++0x

“I note that every C++0x feature has been implemented by someone somewhere.”

Bjarne Stroustrup

We conventionally call “classic C++” the language in its final revision in 2003, as opposed to “modern C++” (also informally known as C++0x), introduced in 2011 and subsequently refined in 2014. The set of changes was huge, but the new rules in general were written to ease TMP and make the code less verbose. Additionally, compilers come with a new arsenal of standard classes, containers, language tools (like std::bind), and traits that expose meta-information previously known only to the compiler.1

The simplest example is the metafunction ...

Get Advanced Metaprogramming in Classic C++ now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.