views:

307

answers:

7

I teach C and C++ and I was just wondering if there are good overview of the C++0x features.

I am going to read the standard, but that will take time and I'm definitely going to make it for this semester (next year hopefully). For this semester I just want to make one extra lecture about C++0x (and maybe make sure that none of the taught features are deprecated/changed in C++0x).

+8  A: 

The best two I know of are the Wikipedia page and Stroustrup's FAQ.

I really wouldn't recommend reading the standard until you know what you're looking for. Besides being significantly larger than the C++03 standard, the organization and clarity has gotten somewhat worse in parts.

If you're only going to do one lecture on "advanced C++", you might focus on C++0x features which were adopted from other common sources, such as boost::smart_ptr and std::tr1::unordered_map. Such things are ahead of the curve on adoption.

Potatoswatter
I need to read the standard anyway (I have been walking the areas on the edge of defined/undefined/platform specific for very long and its just getting ridiculous).
Let_Me_Be
For you lecture: I'd stick to the parts of C++0x that are new language features (char16/32_t, lambdas, thread/thread_local) and not new libraries (shared_ptr, tr1::*).
KitsuneYMG
@Let: Also, the GCC 4.5 C++0x status page is very helpful: http://gcc.gnu.org/gcc-4.5/cxx0x_status.html. Besides letting you know what you can use already, it provides links to the latest drafts of the original proposals for the individual features. All of those papers include clear explanations, and many have invaluable examples.
Potatoswatter
@kts: I disagree. The core language changes are interesting. But many of them are there to enable certain library developments (like std::tuple, std::function, std::bind or std::unique_ptr). I don't think it's a good idea to only focus on the low-level core language details. It's as important what you can do with them and what the new library has to offer (using the new core language features).
sellibitze
+3  A: 

Herb Sutter has written many articles on the changes which you might find useful.

Matt Curtis
+2  A: 

Wikipedia has a long overview. I would hightlight rvalue references and lambdas.

zvrba
+2  A: 

There is a lot of overviews C++0x in a network. I can recommended to read a wiki page, and C++0x FAQ

Slavik
A: 

I've been reading this Code Project overview:

Explicating the new C++ standard (C++0x), and its implementation in VC10

Chris
A: 

The C++ Annotations have everything available in gcc 4.4. This is a (free) book rather an overview.

supertux
A: 

Scott Meyers has a 3-day course titled "An Overview of the New C++ (C++0x)", and perhaps more interestingly, a ~335 page, $30 PDF with all the course notes (if you can't spare the time or money for the course).

I know the time & cost of the course might be prohibitive, but the PDF might be an option.

Dan