📄 preface.html
字号:
of audio lectures by me that accompany slides that cover selected material from
each chapter in the book. They can be viewed on most computers if you have a CD
ROM player and a sound system. These CDs may be purchased at
<I>www.BruceEckel.com</I>, where you will find more information and sample
lectures.</FONT><BR></P></DIV>
<DIV ALIGN="LEFT"><P><FONT FACE="Georgia">My company, MindView, Inc., provides
<A NAME="Index40"></A><A NAME="Index41"></A><A NAME="Index42"></A>public
hands-on training seminars based on the material in this book and also on
advanced topics. Selected material from each chapter represents a lesson, which
is followed by a monitored exercise period so each student receives personal
attention. We also provide on-site training,
<A NAME="Index43"></A><A NAME="Index44"></A><A NAME="Index45"></A><A NAME="Index46"></A>consulting,
mentoring, and design and code walkthroughs. Information and sign-up forms for
upcoming seminars and other contact information can be found at
<I>www.BruceEckel.com</I>.</FONT><BR></P></DIV>
<DIV ALIGN="LEFT"><P><FONT FACE="Georgia">I am sometimes available for design
consulting, project evaluation and code walkthroughs. When I first began writing
about computers, my primary motivation was to increase my consulting activities,
because I find consulting to be challenging, educational, and one of my most
enjoyable experiences, professionally. Thus I will try my best to fit you into
my schedule, or to provide you with one of my associates (who are people that I
know well and trust, and often people who co-develop and teach seminars with
me).</FONT><A NAME="_Toc312373779"></A><A NAME="_Toc462979680"></A><A NAME="_Toc472654676"></A><BR></P></DIV>
<A NAME="Heading16"></A><FONT FACE = "Verdana"><H2 ALIGN="LEFT">
Errors<BR><A NAME="Index47"></A><A NAME="Index48"></A><A NAME="Index49"></A></H2></FONT>
<DIV ALIGN="LEFT"><P><FONT FACE="Georgia">No matter how many tricks a writer uses
to detect errors, some always creep in and these often leap off the page to a
fresh reader. If you discover anything you believe to be an error, please use
the correction form you will find at <I>www.BruceEckel.com</I>. Your help is
appreciated.</FONT><A NAME="_Toc312373780"></A><A NAME="_Toc462979681"></A><A NAME="_Toc472654677"></A><BR></P></DIV>
<A NAME="Heading17"></A><FONT FACE = "Verdana"><H2 ALIGN="LEFT">
About the cover</H2></FONT>
<DIV ALIGN="LEFT"><P><FONT FACE="Georgia">The first edition of this book had my
face on the cover, but I originally wanted a cover for the second edition that
was more of a work of art like the <I>Thinking in Java</I> cover. For some
reason, C++ seems to me to suggest Art Deco with its simple curves and brushed
chrome. I had in mind something like those posters of ships and airplanes with
the long sweeping bodies.</FONT><BR></P></DIV>
<DIV ALIGN="LEFT"><P><FONT FACE="Georgia">My friend <A NAME="Index50"></A>Daniel
Will-Harris, (<I>www.Will-Harris.com</I>) whom I first met in junior high school
choir class, went on to become a world-class designer and writer. He has done
virtually all of my designs, including the
<A NAME="Index51"></A><A NAME="Index52"></A>cover for the first edition of this
book. During the cover design process, Daniel, unsatisfied with the progress we
were making, kept asking “How does this relate people to computers?”
We were stuck.</FONT><BR></P></DIV>
<DIV ALIGN="LEFT"><P><FONT FACE="Georgia">On a whim, with no particular outcome in
mind, he asked me to put my face on the scanner. Daniel had one of his graphics
programs (Corel Xara, his favorite) “autotrace” the scan of my face.
As he describes it, “Autotracing is the computer's way to turn a picture
into the kinds of lines and curves it really likes.” Then he played with
it until he had something that looked like a topographic map of my face, an
image that might be the way a computer could see people.</FONT><BR></P></DIV>
<DIV ALIGN="LEFT"><P><FONT FACE="Georgia">I took this image and photocopied it onto
watercolor paper (some color copiers can handle thick stock), and then started
creating lots of experiments by adding watercolor to the image. We selected the
ones we liked best, then Daniel scanned them back in and arranged them into the
cover, adding the text and other design elements. The whole process happened
over several months, mostly because of the time it took me to do the
watercolors. But I’ve especially enjoyed it because I got to participate
in the art on the cover, and because it gave me incentive to do more watercolors
(what they say about practice really is
true).</FONT><A NAME="_Toc472654678"></A><BR></P></DIV>
<A NAME="Heading18"></A><FONT FACE = "Verdana"><H2 ALIGN="LEFT">
Book design and
production<BR><A NAME="Index53"></A><A NAME="Index54"></A><A NAME="Index55"></A></H2></FONT>
<DIV ALIGN="LEFT"><P><FONT FACE="Georgia">The book’s interior design was
created by <A NAME="Index56"></A>Daniel Will-Harris, who used to play with
rub-on letters in junior high school while he awaited the invention of computers
and desktop publishing. However, I produced the camera-ready pages myself, so
the typesetting errors are mine. Microsoft<SUP>®</SUP> Word for Windows
Versions 8 and 9 were used to write the book and to create camera-ready pages,
including generating the table of contents and index. (I created a COM
automation server in Python, called from Word VBA macros, to aid me in index
marking.) Python (see <I>www.Python.org</I>) was used to create some of the
tools for checking the code, and would have been use for the code extraction
tool had I discovered it earlier.</FONT><BR></P></DIV>
<DIV ALIGN="LEFT"><P><FONT FACE="Georgia">I created the diagrams using
Visio<SUP>®</SUP> – thanks to Visio Corporation for creating a useful
tool.</FONT><BR></P></DIV>
<DIV ALIGN="LEFT"><P><FONT FACE="Georgia">The body <A NAME="Index57"></A>typeface
is Georgia and the headlines are in Verdana. The final camera-ready version was
produced in Adobe<SUP>®</SUP> Acrobat 4 and taken directly to press from
that file – thanks very much to Adobe for creating a tool that allows
e-mailing camera-ready documents, as it enables multiple revisions to be made in
a single day rather than relying on my laser printer and overnight express
services. (We first tried the Acrobat process with <I>Thinking in Java</I>, and
I was able to upload the final version of that book to the printer in the U.S.
from South Africa.)</FONT><BR></P></DIV>
<DIV ALIGN="LEFT"><P><FONT FACE="Georgia">The HTML version was created by exporting
the Word document to RTF, then using RTF2HTML (see
<I>http://www.sunpack.com/RTF/</I>) to do most of the work of the HTML
conversion. (Thanks to Chris Hector for making such a useful, and especially
reliable, tool.) The resulting files were cleaned up using a custom Python
program that I hacked together, and the WMFs were converted to GIFs using
JASC<SUP>®</SUP> PaintShop Pro 6 and its batch conversion tool (thanks to
JASC for solving so many problems for me with their excellent product). The
color syntax highlighting was added via a Perl script kindly contributed by
Zafir Anjum.</FONT><A NAME="_Toc472654679"></A><BR></P></DIV>
<A NAME="Heading19"></A><FONT FACE = "Verdana"><H2 ALIGN="LEFT">
Acknowledgements</H2></FONT>
<DIV ALIGN="LEFT"><P><FONT FACE="Georgia">First, thanks to everyone on the Internet
who submitted corrections and suggestions; you’ve been tremendously
helpful in improving the quality of this book, and I couldn’t have done it
without you. Special thanks to John Cook.</FONT><BR></P></DIV>
<DIV ALIGN="LEFT"><P><FONT FACE="Georgia">The ideas and understanding in this book
have come from many sources: friends like Chuck Allison, Andrea Provaglio, Dan
Saks, Scott Meyers, Charles Petzold, and Michael Wilk; pioneers of the language
like Bjarne Stroustrup, Andrew Koenig, and Rob Murray; members of the C++
Standards Committee like Nathan Myers (who was particularly helpful and generous
with his insights), Bill Plauger, Reg Charney, Tom Penello, Tom Plum, Sam
Druker, and Uwe Steinmueller; people who have spoken in my C++ track at the
Software Development Conference; and often students in my seminars, who ask the
questions I need to hear in order to make the material more
clear.</FONT><BR></P></DIV>
<DIV ALIGN="LEFT"><P><FONT FACE="Georgia">A huge thank-you to my friend Gen
Kiyooka, whose company Digigami has provided me with a web
server.</FONT><BR></P></DIV>
<DIV ALIGN="LEFT"><P><FONT FACE="Georgia">My friend Richard Hale Shaw and I have
taught C++ together; Richard’s insights and support have been very helpful
(and Kim’s, too). Thanks also to KoAnn Vikoren, Eric Faurot, Jennifer
Jessup, Tara Arrowood, Marco Pardi, Nicole Freeman, Barbara Hanscome, Regina
Ridley, Alex Dunne, and the rest of the cast and crew at MFI.</FONT><BR></P></DIV>
<DIV ALIGN="LEFT"><P><FONT FACE="Georgia">A special thanks to all my teachers and
all my students (who are my teachers as well).</FONT><BR></P></DIV>
<DIV ALIGN="LEFT"><P><FONT FACE="Georgia">And for favorite writers, my deep
appreciation and sympathy for your efforts: John Irving, Neal Stephenson,
Robertson Davies (we shall miss you), Tom Robbins, William Gibson, Richard Bach,
Carlos Castaneda, and Gene Wolfe.</FONT><BR></P></DIV>
<DIV ALIGN="LEFT"><P><FONT FACE="Georgia">To Guido van Rossum, for inventing Python
and giving it selflessly to the world. You have enriched my life with your
contribution.</FONT><BR></P></DIV>
<DIV ALIGN="LEFT"><P><FONT FACE="Georgia">Thanks to the people at Prentice Hall:
Alan Apt, Ana Terry, Scott Disanno, Toni Holm, and my electronic copy-editor
Stephanie English. In marketing, Bryan Gambrel and Jennie Burger.
</FONT><BR></P></DIV>
<DIV ALIGN="LEFT"><P><FONT FACE="Georgia">Sonda Donovan helped with the production
of the CD Rom. Daniel Will-Harris (of course) created the silkscreen design
that’s on the Disc itself.</FONT><BR></P></DIV>
<DIV ALIGN="LEFT"><P><FONT FACE="Georgia">To all the great folks in Crested Butte,
thanks for making it a magical place, especially Al Smith (creator of the
wonderful Camp4 Coffee Garden), my neighbors Dave & Erika, Marsha at
Heg’s Place bookstore, Pat & John at the Teocalli Tamale, Sam at the
Bakery Café, and Tiller for his help with audio research. And to all the
terrific people that hang out at Camp4 in and make my mornings
interesting.</FONT><BR></P></DIV>
<DIV ALIGN="LEFT"><P><FONT FACE="Georgia">The supporting cast of friends includes,
but is not limited to, Zack Urlocker, Andrew Binstock, Neil Rubenking, Kraig
Brockschmidt, Steve Sinofsky, JD Hildebrandt, Brian McElhinney, Brinkley Barr,
Larry O’Brien, Bill Gates at <I>Midnight Engineering Magazine</I>, Larry
Constantine, Lucy Lockwood, Tom Keffer, Dan Putterman, Gene Wang, Dave Mayer,
David Intersimone, Claire Sawyers, the Italians (Andrea Provaglio, Rossella
Gioia, Laura Fallai, Marco & Lella Cantu, Corrado, Ilsa and Christina
Giustozzi), Chris and Laura Strand (and Parker), the Almquists, Brad Jerbic,
Marilyn Cvitanic, the Mabrys, the Haflingers, the Pollocks, Peter Vinci, the
Robbins, the Moelters, Dave Stoner, Laurie Adams, the Cranstons, Larry Fogg,
Mike and Karen Sequeira, Gary Entsminger and Allison Brody, Kevin, Sonda, &
Ella Donovan, Chester and Shannon Andersen, Joe Lordi, Dave and Brenda Bartlett,
the Rentschlers, Lynn and Todd, and their families. And of course, Mom and
Dad.</FONT><A NAME="_Toc312373781"></A><A NAME="_Toc465903652"></A><A NAME="_Toc465909053"></A><A NAME="_Toc465909466"></A><A NAME="_Toc466014377"></A><A NAME="_Toc466073287"></A><A NAME="_Toc466083088"></A><A NAME="_Toc468607895"></A><A NAME="_Toc468771216"></A><A NAME="_Toc469811219"></A><A NAME="_Toc469821104"></A><A NAME="_Toc469821520"></A><A NAME="_Toc469825201"></A><A NAME="_Toc469874106"></A><A NAME="_Toc470615762"></A><A NAME="_Toc470654900"></A><A NAME="_Toc470820880"></A><A NAME="_Toc470821297"></A><A NAME="_Toc470911394"></A><A NAME="_Toc471358875"></A><A NAME="_Toc471489294"></A><A NAME="_Toc471528725"></A><A NAME="_Toc471794880"></A><A NAME="_Toc471965457"></A><A NAME="_Toc472045459"></A><A NAME="_Toc472255663"></A><A NAME="_Toc472654266"></A><A NAME="_Toc472654680"></A><BR></P></DIV>
<FONT FACE = "Verdana"><H1 ALIGN="LEFT">
</H1></FONT>
<DIV ALIGN="LEFT"><P><FONT FACE="Verdana"><B></B></FONT><BR></P></DIV>
<FONT FACE = "Verdana"><H1 ALIGN="LEFT">
</H1></FONT>
<FONT FACE = "Verdana"><H1 ALIGN="LEFT">
</H1></FONT>
<HR><DIV ALIGN="LEFT"><P><A NAME="fn1" HREF="#fnB1">[1]</A><FONT FACE="Georgia" SIZE=2>
Bjarne Stroustrup, <I>The C++ Programming Language</I>, Addison-Wesley, 1986
(first edition).</FONT><BR></P></DIV>
<DIV ALIGN="LEFT"><P><A NAME="fn2" HREF="#fnB2">[2]</A><FONT FACE="Georgia" SIZE=2>
<I>Using C++</I>,<I> </I>Osborne/McGraw-Hill 1989.</FONT><BR></P></DIV>
<DIV ALIGN="LEFT"><P><A NAME="fn3" HREF="#fnB3">[3]</A><FONT FACE="Georgia" SIZE=2>
<I>Using C++</I> and <I>C++ Inside & Out</I>,<I> </I>Osborne/McGraw-Hill
1993.</FONT><BR></P></DIV>
<DIV ALIGN="CENTER">
<FONT FACE="Verdana" size = "-1">
[ <a href="Frontmatter.html">Previous Chapter</a> ]
[ <a href="Contents.html">Table of Contents</a> ]
[ <a href="DocIndex.html">Index</a> ]
[ <a href="Chapter01.html">Next Chapter</a> ]
</FONT>
<BR>
Last Update:09/27/2001</P></DIV>
</BODY>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -