Practical C++ is a starter-level book for learning the C++ programming language for a total newbie. No previous programming experience is required, and this book does a very good job of taking you through the most basic concepts needed to program, as well as the C knowledge that is useful as a grounding to C++.

The book is split into four parts. The first, "C++ Basics", takes you through the most fundamental of things - some basic computer science and an examination of the most basic concepts in C++, such as variables, data types, functions, constants and arrays.

The second, "Beyond the basics", goes a little deeper under the hood of C++. You'll find yourself tinkering with function overloading, structures, pointers, references, memory allocation, operator overloading and much more. There's even a chapter on hex, octal and binary conversions and use.

The third section introduces Object-Orientated programming. Starting with OOP theory and moving onto the practicalities of it in C++, you'll soon find yourself able to understand topics such as polymorphism and templates, as well as RTTI.

The final section explores the STL, with chapters on each of: Iterators and Containers, Strings, Numerics, Files and Streams and Algorithms.

The whole book acts as an excellent reference manual as well as an explanatory text, and I find myself going back to it again and again to look things up. Some people might say having an excellent textbook on your desk is a sign of weakness, but it helps me write accurate code quicker. It can help you to.

The book is published by Que, and was written by Rob McGregor.