This book is intended for a very different readership: you should already be comfortable with the
basics of programming. Exactly how you have acquired those basics will result in different expectations and
problems with learning C++. One of the delights of C++ is its ability to handle the programming paradigms
of most of the principal language groups. If your first language is Lisp and you are fluent in expressing
problems in that language, then C++ is going to cause you a lot of mental readjustment, but most other
languages will provide a good basis for moving to C++, as long as you have an open mind about how the
solutions to problems should be expressed in source code.
I do not intend to provide comprehensive coverage of the whole of C++: it is far too big a language to
do that. I am not going to attempt to show you all the ways in which C++ can be used: C++ is far too rich
a language to attempt that in a single book. Indeed, I doubt that any single author knows enough to provide
adequate coverage of all the ways C++ can be used.
My aim is to provide my readers with a sound introduction to a reasonably large working subset of
C++. Along the way, I will demonstrate how C++ can be used to handle a variety of programming problems.
You will get as much from this book as you put into reading it, or, more correctly, studying it. I do not
believe in trivial, make-work exercises. You should be able to provide yourself with those without any help
from me. That means that the exercises in this book, along with the experiments and actively trying the code
in the body of the text is part and parcel of reading this book successfully.
If you want to try C++ and have a basic knowledge of programming fundamentals, this book was written
for you. I hope you enjoy the journey and feel motivated at the end to continue onwards, because C++ is the
most challenging programming language available. It does not seek to constrain what you can do or how you
do it. That is one of the ways in which it differs from all the other popular computer-programming languages.
If you can master C++ you will be mistress of programming and able, should the need arise, to adapt
to other languages quickly.