My Facebook

Thursday, December 31, 2009

Accelerated C++: Practical Programming by Example

If you don't have a lot of time, but still want to learn the latest in C++, you don't have to learn C first. You might learn more by digging into current language features and classes from the very beginning. That's the approach that's offered by Accelerated C++, a text that delves into more advanced C++ features like templates and Standard Template Library (STL) collection classes early on. This book arguably can get a motivated beginning programmer into C++ more quickly than other available tutorials.

What separates this title from the rest of the pack is that it jumps right in with samples that take advantage of the Standard C++ of today--from streams to built-in container classes, such as vectors and linked lists. Early examples are more complex than in other books, but the thoroughness and relaxed pace of the explanations will bring the novice up to speed. (Although it ships at a slender 350 pages, Accelerated C++ is packed with samples, tips, and example problems; about 10 per chapter.)

After a tour of basic C++, the book looks at more advanced C++ features, such as templates, including built-in support for containers. Besides tapping the strength of Standard C++, you also will learn to design with your own templates. (Other tutorials would defer this material until later on.) The authors have tested the approach in the book in their own teaching, and honed a set of worthwhile examples that will help anyone get familiar with these powerful language features. All examples make use of the command line and console (without GUI programs), but the advantage is that this code should run on any of today's operating systems and compilers. Later sections cover the basics of class design, which include good coverage of operator overloading and inheritance.

With its innovative approach to teaching the language, Accelerated C++ will challenge readers in the right way. It suggests that you don't need to learn C to be productive in C++. Written in an approachable style, it deserves a close look from any C++ novice. --Richard Dragan

Topics covered:

* Introduction to C++
* Console I/O with stream classes
* Basic string handling
* Loop and flow-control statements
* Arrays
* Using functions and methods
* Using Standard Template Library (STL) containers (vectors, linked lists, and maps)
* Iterators
* Sorting and generic functions
* Basic class design
* Pointers and arrays
* File I/O
* Memory-management techniques, including statically and dynamically allocated memory
* Adding stream support to custom classes
* Conversion operators
* Operator overloading
* Friend functions
* Inheritance
* Polymorphism and virtual functions
* Handle idioms for classes, including reference counting
* Quick reference to the C++ language

Accelerated C++: Practical Programming by Example