C plus plus:Modern C plus plus

From GPWiki
Jump to: navigation, search

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 Standard C++ Library.
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.