C plus plus:Modern C plus plus

From GPWiki

Files:GUITutorial_warn.gif The Game Programming Wiki has moved! Files:GUITutorial_warn.gif

The wiki is now hosted by GameDev.NET at wiki.gamedev.net. All gpwiki.org content has been moved to the new server.

However, the GPWiki forums are still active! Come say hello.

Modern C++ : Going Beyond "C with Classes"

Good to see another person taking an interest in Modern C++. If you're not sure where to start or aren't sure what this is all about, try starting at the Preface.

If you're looking for an overview of what's covered, here's a detailed table of contents.

Preface
Gives motivation for the tutorial as well as details my assumptions.
std::vector
Describes std::vector, perhaps the most immediately useful single class in the std::lib.
RAII
A fast, safe, general, and elegant solution to resource management.
Containers
Introduces the Containers, since there are more ways to store groups of elements than just in std::vectors.
Iterators
Iterators are the elegant abstraction that allows all containers to be accessed similarly.
You may have heard of the pattern from GoF, but operator overloading makes the C++ implementation wonderfully elegant.
Algorithms
Algorithms are basically functions that operate on iterator ranges, allowing them to be used on any sequence of data, such as the contents of a file or a container.
Functors
Functors allow further generalisation of algorithms, permitting C++ to come remarkably close to a functional language.
Binders
Binders allow you to compose Functors, letting you generate Functors on the fly.
Can you say "first-class functions"?
Storing Functors
Details std::tr1::function, which stores any kind of functor, be it a member function, plain C-style function, or bound functor.
Let's see you do that with a function pointer.
References
Various recommended references, essays, books, pages, ...
Glossary
A few descriptions of domain-specific terms.
Appendices
A few supplementary chapters covering prerequisites.