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
- Introduction to C++
- Console I/O with stream classes
- Basic string handling
- Loop and flow-control statements
- Using functions and methods
- Using Standard Template Library (STL) containers (vectors, linked lists, and maps)
- 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
- Polymorphism and virtual functions
- Handle idioms for classes, including reference counting
- Quick reference to the C++ language
From the Back Cover
This is a first-rate introductory book that takes a practical approach to solving problems using C++. It covers a much wider scope of C++ programming than other introductory books I've seen, and in a surprisingly compact format.
--Dag Brück, founding member of the ANSI/ISO C++ committee
The authors present a clear, cogent introduction to C++ programming in a way that gets the student writing nontrivial programs immediately.
--Stephen Clamage, Sun Microsystems, Inc., and chair of the ANSI C++ committee
Anyone reading just this one book and working through the examples and exercises will have the same skills as many professional programmers.
--Jeffrey D. Oldham, Stanford University
Why is Accelerated C++ so effective? Because it
- Starts with the most useful concepts rather than the most primitive ones: You can begin writing programs immediately.
- Describes real problems and solutions, not just language features: You see not only what each feature is, but also how to use it.
- Covers the language and standard library together: You can use the library right from the start.
The authors proved this approach in their professional-education course at Stanford University, where students learned how to write substantial programs on their first day in the classroom.
Whether you are eager to get started writing your first C++ programs, or you are already using C++ and seeking deeper understanding, the authors' unique approach and expertise make Accelerated C++ an indispensable addition to your library.