Tag Archive for C++0x

Slides of Presentation “C++11 (C++0x) in Visual C++ 2010″

A couple of months ago, I gave a presentation about C++11/C++0x features supported in Visual C++ 2010 for software engineers at my company. You can now download the slides.


C++11 Standard Published by ISO

The ISO International Organization for Standardization has now officialy published the C++11 standard :)
Here is part of the press release:

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/IEC 14882:2011, Information technology – Programming languages – C++.

ISO/IEC 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, move semantics, and 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 that mean never writing delete again.

You can read the complete press release here.


“Professional C++, Second Edition” Featured on the Microsoft VC++ Team Blog

My book “Professional C++, Second Edition”, published by Wiley/Wrox, is now featured in a dedicated post on the Microsoft Visual C++ Team Blog :)
Read the VC++ Team Blog post here.


C++11 Now the Confirmed Name

Yesterday, I wrote a post about the fact that C++0x was unanimously approved.
Today, we got confirmation from Geneva that they will officially publish the new C++ standard in a matter of weeks with the name “ISO/IEC 14882:2011(E) Programming Languages — C++, Third Edition“, which means we can start calling it C++11

See also Herb Sutter’s update on his blog.

Now I can finalize the last pieces for my “Professional C++, Second Edition” book (Wiley/Wrox).

This is a great day for the C++ world! :)


C++0x Unanimously Approved

The new C++ standard has been unanimously approved and is now an international standard.
It can still take a few months before it’s officially published, so the question still remains whether it will be called C++11 or C++12. I for sure hope it will be C++11 :)
Here is Herb Sutter’s blog post about it.


Introduction to the Standard Template Library

Stephan T. Lavavej (aka STL :) ) from Microsoft has created a series of Channel 9 video presentations discussing several aspects of the STL. They serve as a very good introduction to using the Standard Template Library.

I found them very interesting :)


The C++0x Range-Based For Loop

C++0x adds a new looping structure: the Range-Based for loop. This makes it easier to loop over elements of lists. It works with standard C arrays and types that have begin() and end() functions returning iterators like almost all STL containers.

Below is an example of a range-based for loop looping over a standard C-style array, incrementing each value by 1.

int myArray[3] = {1, 2, 3};
for(auto& el : myArray) {

Note that this example also uses the auto type deduction introduced in C++0x.
Now it’s only waiting until the C++ compilers start supporting it :)