Preface
Programming is understanding.
– Kristen Nygaard
I find using C
++
more enjoyable than ever. C
++
’s support for design and programming has
improved dramatically over the years, and lots of new helpful techniques have been developed for
its use. However, C
++
is not just fun. Ordinary practical programmers have achieved significant
improvements in productivity, maintainability, flexibility, and quality in projects of just about any
kind and scale. By now, C
++
has fulfilled most of the hopes I originally had for it, and also suc-
ceeded at tasks I hadn’t even dreamt of.
This book introduces standard C
++
† and the key programming and design techniques supported
by C
++
. Standard C
++
is a far more powerful and polished language than the version of C
++
intro-
duced by the first edition of this book. New language features such as namespaces, exceptions,
templates, and run-time type identification allow many techniques to be applied more directly than
was possible before, and the standard library allows the programmer to start from a much higher
level than the bare language.
About a third of the information in the second edition of this book came from the first. This
third edition is the result of a rewrite of even larger magnitude. It offers something to even the
most experienced C
++
programmer; at the same time, this book is easier for the novice to approach
than its predecessors were. The explosion of C
++
use and the massive amount of experience accu-
mulated as a result makes this possible.
The definition of an extensive standard library makes a difference to the way C
++
concepts can
be presented. As before, this book presents C
++
independently of any particular implementation,
and as before, the tutorial chapters present language constructs and concepts in a ‘‘bottom up’’
order so that a construct is used only after it has been defined. However, it is much easier to use a
well-designed library than it is to understand the details of its implementation. Therefore, the stan-
dard library can be used to provide realistic and interesting examples well before a reader can be
assumed to understand its inner workings. The standard library itself is also a fertile source of pro-
gramming examples and design techniques.
__________________
† ISO/IEC 14882, Standard for the C
++
Programming Language.
The C++ Programming Language, Third Edition by Bjarne Stroustrup. Copyright ©1997 by AT&T.
Published by Addison Wesley Longman, Inc. ISBN 0-201-88954-4. All rights reserved.