Buy New

or
Sign in to turn on 1-Click ordering.
or
Amazon Prime Free Trial required. Sign up when you check out. Learn More
Buy Used
Used - Acceptable See details
$34.17 & this item ships for FREE with Super Saver Shipping. Details

or
Sign in to turn on 1-Click ordering.
 
   
Sell Back Your Copy
For a $15.71 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Thinking in C++, Volume 2: Practical Programming
 
See larger image
 
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Thinking in C++, Volume 2: Practical Programming [Paperback]

Bruce Eckel (Author), Chuck Allison (Author)
4.7 out of 5 stars  See all reviews (16 customer reviews)

List Price: $70.20
Price: $40.68 & this item ships for FREE with Super Saver Shipping. Details
You Save: $29.52 (42%)
  Special Offers Available
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.
Only 8 left in stock--order soon (more on the way).
Want it delivered Tuesday, January 31? Choose One-Day Shipping at checkout. Details
Textbook Student FREE Two-Day Shipping for Students. Learn more

Sell Back Your Copy for $15.71
Whether you buy it used on Amazon for $29.55 or somewhere else, you can sell it back through our Book Trade-In Program at the current price of $15.71.
Used Price$29.55
Trade-in Price$15.71
Price after
Trade-in
$13.84

Book Description

0130353132 978-0130353139 December 27, 2003 1

The long awaited sequel to the highly successful Thinking in C++. More coverage of advanced topics professional developers must master.

  • Emphasis on advanced testing techniques to produce optimized error free code.
  • In depth coverage of STL with real world reusable code examples.
  • Simple short exercises that simplify complex programming routines.
  • Both authors are highly respected and widely known.

Special Offers and Product Promotions

  • Buy $50 in qualifying physical textbooks, get $5 in Amazon MP3 Credit. Here's how (restrictions apply)

Frequently Bought Together

Thinking in C++, Volume 2: Practical Programming + Thinking in C++: Introduction to Standard C++, Volume One (2nd Edition) (Vol 1) + Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition)
Price For All Three: $111.08

Show availability and shipping details

Buy the selected items together


Editorial Reviews

From the Back Cover

Use the full power of C++

  • First Edition Winner 1996 Jolt Award for Best Book of the Year.
  • Learn practical programming and best practices.
  • Meet the difficult challenges of C++ development.
  • Build reliable and robust programs.
  • Design Patterns chapter shows sophisticated use of objects, composition and polymorphism.
  • Provides a gentle introduction to multithreaded programming, a feature being considered for the next version of Standard C++.
  • Defensive Programming chapter includes a simple unit-testing framework and debugging techniques.
  • In-depth treatment of Standard C++ Library facilities including strings, iostreams, and the "STL" algorithms and containers.
  • Modern usage of templates, including template metaprogramming.
  • Unravels the perplexities of multiple inheritance.
  • Shows practical uses for RTTI.
  • Explores exception handling in depth and clearly explains exception-safe design.
  • Compliant with the official ISO C++ Standard.
  • Presents results of current research being considered for inclusion in the next revision of Standard C++.
  • All code examples freely downloadable, tested on multiple platforms and compilers including the free GNU C++ compiler on Windows/Mac/Linux.
On www.BruceEckel.com:
  • Annotated Solutions Guide
  • Seminars and consulting
  • Free Download—Volume I of this book

About the Author

Bruce Eckel is the author of Thinking in C++, Volume I, and other books on C++. He served on the C++ Standards Committee, has published over 150 articles (many on C++) and has given C++ seminars worldwide. He is the president of MindView, Inc., which provides software consulting and training.

Chuck Allison is former Senior Editor of the C/C++ Users Journal and author of the book C/C++ Code Capsules. He served on the C++ Standards Committee and is a professor of Computer Science at Utah Valley State College. He is president of Fresh Sources, Inc., which specializes in software training and mentoring.


Product Details

  • Paperback: 832 pages
  • Publisher: Prentice Hall; 1 edition (December 27, 2003)
  • Language: English
  • ISBN-10: 0130353132
  • ISBN-13: 978-0130353139
  • Product Dimensions: 9.1 x 7 x 1.2 inches
  • Shipping Weight: 2.6 pounds (View shipping rates and policies)
  • Average Customer Review: 4.7 out of 5 stars  See all reviews (16 customer reviews)
  • Amazon Best Sellers Rank: #195,937 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

 

Customer Reviews

16 Reviews
5 star:
 (12)
4 star:
 (3)
3 star:
 (1)
2 star:    (0)
1 star:    (0)
 
 
 
 
 
Average Customer Review
4.7 out of 5 stars (16 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

28 of 30 people found the following review helpful:
5.0 out of 5 stars The only other C++ book you would need, June 4, 2004
By 
ART SEDIGHI (Old Bethpage, NY United States) - See all my reviews
This review is from: Thinking in C++, Volume 2: Practical Programming (Paperback)
There are plenty of C++ books out there. When it comes down to it, one would really need two books on C++. Well, this is the second book you need; with the first one being any of many classics including the first volume of this book. Just when you think you have read or have a reference to all the C++ topics, Eckel and Allison come out with their continuation of a classic - volume two of Thinking in C++.

Exceptions, Templates, STL, Design Patterns, Multiple Inheritance, concurrency and parallel programming are just some of the main topics covered in this book. With the book being over 800 pages, one can imagine how deep each of these topics must have been covered. Exceptions grab you right off the bat. Just when you think you know all about exceptions, the authors throw you a curve ball with "Exception Specification", and how to handle the "unexpected". You are blown away by the true control that C++ gives you. .
Strings, along with examples given to depict the string class in full - as part of the standard template library (STL) of C++, begin the authors' discussion of the Standard Template Library. Vectors, sets, lists and many other features of the STL have their own dedicated section which talks about generic containers. The authors set the stage for STL by describing the containers as:

"Container classes are the solution to a specific kind of code reuse problem. ...A container class describes an object that holds other objects..."

The authors then continue on to cover the very important and broad topic in C++ - containers. Examples after examples are used to convey the details and the tricky parts of the C++ STL. The key by reading this chapter is to portray and teach efficient techniques to common problems using the generic container classes. Not only the reader can learn most of what s/he needs to know about containers in this book, a small introduction is also given to show how to actually write a generic container - a linked list. The example is simple, yet powerful in conveying to the reader the ins and outs of writing generic containers. Speaking of generic, generic algorithms are covered very well in this book. All of the algorithms currently in the C++ library are covered with an accompanying example for each one. A special attention is given to the use of function objects as the means of customizing these algorithms.

"A function object is an instance of a class that overloads operator(), the function call operator. This operator allows an object to be used with function call syntax"

Probably the simplest and the easiest definition of algorithm complexity theory is given in this book. The authors make the concept so easy to understand that even a non-programmer or mathematician can understand the reason and the complexity of complexity theory!
Templates are probably my favorite topics in this book. Next to the C++ template "bible" by Vaqndervoorde and Josuttis, this book is the best source for generic programming and templates. The authors cover the three main topics of templates well:
1) Templates with types as parameters
2) Templates with compile-time constant as values
3) Templates with other templates as values.
The authors start with small and simple examples and build on top of them. Templates are generally a difficult topics to cover and to convey, but the authors do a great job in depicting the examples and teaching the reader how templates work and to create powerful programs with them.
The advanced topics in this book (multiple inheritance, runtime type identification, design patterns, and concurrent programming) are my favorite topics. Multiple Inheritance is covered in depth, better than any other book that I have seen out there. The authors do caution the readers regarding the difficulties and the pitfalls of multiple inheritance, but they also explain with examples, pictures, etc... how a developer can overcome these difficulties (using upcast to resolve naming conflicts for example or avoiding the diamond-shaped inheritance tree).
Concurrency and concurrent programming is one of the more difficult things to do in C++. Threads are usually used to achieve such task, but it takes practice and lots of sleepless nights to debug threaded programs and resolve deadlock issues with threads. The advantages of threads (ability to run multiple tasks concurrently, very low context switching relative to processes, allow better code organization and the added convenience to the user specially for graphical user interface tasks) are depicted and shown thru a number of examples. The most important part of this section is how the authors use examples to show what the right way of doing something is as oppose to simply putting bunch of source code together to fill in the blank pages. The examples are priceless to me and very beneficial to any programmer.

All and all, Bruce Eckel and Chuck Allison did a great job putting this book together. The topics covered are very beneficial to any serious C++ programmer or anyone wishing to become one. I particularly like the examples and "how-to's" given throughout the book as they are a valuable source when I am stuck with a programming challenge.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


14 of 15 people found the following review helpful:
5.0 out of 5 stars Excellent followup to volume one, March 22, 2004
This review is from: Thinking in C++, Volume 2: Practical Programming (Paperback)
Volume Two picks up where the first left off, without skipping a beat. It starts by covering exceptions and unit tests, both of which should see more use in the real world. It then goes onto cover the standard C++ library in more depth that the first book. He then covers templates in a chapter that he calls 'Templates in Depth'. Yes, the coverage is long, about one hundred pages, but I would rename the chapter 'Templates at a practical level', which is exactly the where the coverage should be left. Templates, like macros, can be overused and have had whole books that cover the topic. Eckel chooses, and I think wisely so, to cover the topical to the extent that it would help you write practical templates yourself and to be able to use template libraries such as the Standard Template Library (STL).

The STL is covered, well, in the two chapters that follow the template chapter. Once again the coverage is not absolutely complete because of the grand scope of the field. There are long books on the STL, but these chapters provide a pragmatic and thorough introduction which should serve for most practical purposes.

The final chapters cover advanced topics. Notable are the chapters on Design Patterns which are designs for templates and classes what are considered industry 'best practice'. So instead of redesigning the wheel you use a design pattern, where appropriate. If you get into design patterns you should also read the extremely popular Design Patterns book, now in it's 25th printing.

In the final chapters is also a discussion on multiple inheritance and threading. Both of which are covered at a pragmatic level and have whole books dedicated to the subject.

This is an excellent, and needed addition to the original Thinking in C++ book. Both of the books are written in an accessible style and cover the topics at a practical level without rat-holing. For aspiring C++ programmers there is probably no better set of books to read as an introduction to C++.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


15 of 17 people found the following review helpful:
5.0 out of 5 stars Defies the First Law of Technical Documentation, April 7, 2004
By 
Amazon Verified Purchase(What's this?)
This review is from: Thinking in C++, Volume 2: Practical Programming (Paperback)
The First Law of Technical Documentation states that:
"The more complicated the subject, the less will be written about it, and the more likely there will be errors in what is written".

This explains why typical programming books will have fifteen pages on If statements, but only a paragraph that says that "Interrupts can be serviced".

Bruce does a masterful job of building the readers up so they are able to gradually yet thoroughly assimilate the subject matter. Thanks to years of putting on seminars and taking comments from readers, he teaches in useful and productive increments without overwhelming the readers. His examples are well thought out and useful. He actually responds to questions and comments. Please don't spam him, he seems like a genuinely nice guy! I look forward to taking one of his seminars in person.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews











Only search this product's reviews



What Other Items Do Customers Buy After Viewing This Item?


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 
(7)
(1)

Your tags: Add your first tag
 

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
Search all Amazon discussions
   
Related forums





Look for Similar Items by Category


Look for Similar Items by Subject