Amazon.com: Effective C++: 50 Specific Ways to Improve Your Programs and Designs (9780201563641): Scott Meyers: Books

Buy Used
Used - Acceptable See details
$3.42 & eligible for FREE Super Saver Shipping on orders over $25. Details

or
Sign in to turn on 1-Click ordering.
 
   
Have one to sell? Sell yours here
Effective C++: 50 Specific Ways to Improve Your Programs and Designs
 
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.

Effective C++: 50 Specific Ways to Improve Your Programs and Designs [Paperback]

Scott Meyers (Author)
5.0 out of 5 stars  See all reviews (7 customer reviews)


Available from these sellers.


Textbook Student FREE Two-Day Shipping for students on millions of items. Learn more

There is a newer edition of this item:
Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition) Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition) 4.5 out of 5 stars (60)
$35.44
In Stock.

Book Description

December 30, 1991 0201563649 978-0201563641 1
Second Edition now available! "This is a 193-page masterpiece that I read in one sitting...I guarantee that some combination of these 50 items will grab and enlighten you, and repay your modest investment...This is a well-written, honest book aimed at C++ programmers who are converging toward fluency and effectiveness." -- Stan Kelly-Bootle, Unix Review Scott Meyers presents 50 concise rules based on what experienced C++ developers almost always do - or almost always avoid - to create efficient, portable, and maintainable software. Each rule is accompanied by examples that illustrate the rule at work. If you want to be a proficient C++ programmer, you will need to understand the complex interactions between the many features in the language. This incisive guide offers insight into the most important interactions.Among its unique benefits, this book offers: *Expert guidance on object-oriented design, class design, and the proper use of inheritance *Innovative ways to simulate features your compiler may not have *Accumulated wisdom traditionally passed informally from programmer to programmer This book corresponds to the definition of C++, including templates and exceptions, found in The Annotated C++ Reference Manual by Ellis and Stroustrup, and is also must reading for programmers with compilers supporting earlier versions of the language. With this book, you will learn how to write large scale software even if your compiler does not provide for nested types, templates, or exceptions. Meyers assumes a working knowledge of C++. 0201563649B04062001


Editorial Reviews

From the Inside Flap

This book is a direct outgrowth of my experiences teaching C++ to professional programmers through the Institute for Advanced Professional Studies. I found that most students, after a week of intensive instruction, felt comfortable with the basic constructs of the language, but were less sanguine about their ability to put the constructs together in an effective manner. Thus began my attempt to formulate short, specific, easy-to-remember guidelines for effective software development in C++: a summary of the things that experienced C++ programmers either almost always do or almost always avoid.

As a computer scientist, I was originally interested in rules that could be checked by a machine. To that end, I outlined a program to examine C++ software for constructs that were "almost always wrong." Currently under development, this checking program has become known as lint++. However, it quickly became apparent that the great majority of the guidelines used by good C++ programmers were too difficult to formalize, or had too many important exceptions, to be blindly enforced by a lint++-like program.

That led me to the notion of something less precise than a computer program but still more focused and to-the-point than a general C++ textbook. The result you now hold in your hands: a book containing 50 specific suggestions on how to improve your C++ programs and designs.

In this book you'll find advice on what you should do, and why, and what you should not do, and why not. Fundamentally, of course, the whys are much more important than the whats, but from a purely pragmatic point of view, it is much more convenient to have a list of guidelines in front of you than it is to memorize a textbook or two. Unlike most books on C++, my presentation here is not organized around particular language features. That is, I don't talk about constructors in one place, aboutvirtual functions in another, about inheritance in a third, etc. Instead, each explanation is tightly coupled to the specific guideline it accompanies, and my coverage of the various aspects of a particular feature is typically dispersed throughout the book.

The advantage of this approach is that it better reflects the complexity of the software systems for which C++ is often chosen, systems in which the understanding of individual language features is not enough. For example, experienced C++ developers know that understanding inline functions and understanding virtual destructors does not necessarily mean that you understand inline virtual destructors. Such battle-scarred developers recognize that comprehending the interactions between the features in C++ is of the greatest possible importance in using the language effectively. The organization of this book reflects that fundamental truth.

The disadvantage of my approach is that you may have to look in more than one place to discover everything I have to say about a particular construct in C++. To minimize the inconvenience inherent in this approach, I have sprinkled cross-references liberally throughout the text, and a comprehensive index is provided at the end of the book.

The set of guidelines in this book is far from exhaustive, but coming up with good rules - ones that are applicable to almost all applications almost all the time - is harder than it looks. Perhaps you know of additional guidelines, of more ways in which to program effectively in C++. If so, I would be delighted to hear about them.

On the other hand, you may feel that some of the items in this book are inappropriate as general advice; that there is a better way to accomplish a task examined in the book; or that one or more of the technical discussions is unclear, incomplete, or misleading. I encourage you to let me know about these things, too.

Donald Knuth has a long history of offering a small reward for people who notify him of errors in his books. The quest for a perfect book is laudable in any case, but in view of the number of bug-ridden C++ books that have been rushed to market, I feel especially strongly compelled to follow Knuth's example. Therefore, for each error in this book that is reported to me - be it technical, grammatical, typographical, or otherwise - I will, in future printings, gladly acknowledge the first person to report that error.

Send your suggested guidelines, your comments, your criticisms, and - sigh - your bug reports to:

Scott Meyersc/o Editor-in-Chief, Corporate and Professional Publishing Addison-Wesley Publishing Company 1 Jacob Way Reading, MA 01867 U. S. A.

Alternatively, you may send electronic mail to johnw@aw.com.

I maintain a list of changes to this book since its first printing, including bug-fixes, clarifications, and technical updates. This list is available via anonymous FTP from the Internet site ftp.aw.com in the directory cp/ec++. If you would like a copy of this file, but you lack access to the Internet, please send a request to one of the addresses above, and I will see that the list is sent to you.

Scott Douglas Meyers Providence, RI November 1991

From the Back Cover

Second Edition now available!

"This is a 193-page masterpiece that I read in one sitting... I guarantee that some combination of these 50 items will grab and enlighten you, and repay your modest investment... This is a well-written, honest book aimed at C++ programmers who are converging toward fluency and effectiveness." -- Stan Kelly-Bootle, Unix Review Scott Meyers presents 50 concise rules based on what experienced C++ developers almost always do - or almost always avoid - to create efficient, portable, and maintainable software. Each rule is accompanied by examples that illustrate the rule at work. If you want to be a proficient C++ programmer, you will need to understand the complex interactions between the many features in the language. This incisive guide offers insight into the most important interactions.

Among its unique benefits, this book offers: Expert guidance on object-oriented design, class design, and the proper use of inheritance Innovative ways to simulate features your compiler may not have Accumulated wisdom traditionally passed informally from programmer to programmer

This book corresponds to the definition of C++, including templates and exceptions, found in The Annotated C++ Reference Manual by Ellis and Stroustrup, and is also must reading for programmers with compilers supporting earlier versions of the language. With this book, you will learn how to write large scale software even if your compiler does not provide for nested types, templates, or exceptions. Meyers assumes a working knowledge of C++.


Product Details

  • Paperback: 224 pages
  • Publisher: Addison-Wesley; 1 edition (December 30, 1991)
  • Language: English
  • ISBN-10: 0201563649
  • ISBN-13: 978-0201563641
  • Product Dimensions: 9.2 x 7.3 x 0.8 inches
  • Shipping Weight: 12.8 ounces
  • Average Customer Review: 5.0 out of 5 stars  See all reviews (7 customer reviews)
  • Amazon Best Sellers Rank: #1,808,186 in Books (See Top 100 in Books)

 

Customer Reviews

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

4 of 4 people found the following review helpful:
5.0 out of 5 stars My source for those special points of emphasis, January 1, 2004
This review is from: Effective C++: 50 Specific Ways to Improve Your Programs and Designs (Paperback)
There are many different criticisms logged against C++, with varying values of validity. However, it is the most widely used Object-Oriented language, so people are using it whether they like it or not. Therefore, the only solution is to learn how to use it efficiently. This book, written by one of the C++ masters, will provide many key pointers to smooth and tighten your code.
As someone who (re)trains professional programmers in C++, this reviewer finds many of the suggestions invaluable as teaching aids. When looking for that special point that I wish to make, this is one of the first sources examined. It belongs in the library of every organization that does any work on C++.

Published in Journal of Recreational Mathematics, reprinted with permission.

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


5 of 6 people found the following review helpful:
5.0 out of 5 stars Buy this book - Don't even bother to read the reviews, March 19, 2001
This review is from: Effective C++: 50 Specific Ways to Improve Your Programs and Designs (Paperback)
I'm a video game programmer, and in video games you have to both write extremely fast, optimized run-time code, and not as optimized, but extendable, well organized tools code, so I'm always on the look out for good programming books. This book was one of the best programming books that I've ever read. It's definately not an introduction to C++, but rather offers clearly written, well thought out ways to improve the quality of your code. If you're already comfortable with programming in C++, but want to hone your craft, then stop reading these reviews and buy this book!
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


5.0 out of 5 stars A MUST-READ for all C++ Developers, June 10, 1997
By A Customer
This review is from: Effective C++: 50 Specific Ways to Improve Your Programs and Designs (Paperback)
As a C++ instructor, I spend a lot of effort searching for good books to recommend to my students. *Effective C++* and *More Effective C++* are two books that I think every C++ developer should own. The writing style is fantastic and the presentation of the material is very approachable. The topics are arranged as "Items" that are organized around particular programming ideas instead of language features. The material is suitable for many experience levels: beginners to experts. Easy Decision for Today: Just Buy It
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




Suggested Tags from Similar Products

 (What's this?)
Be the first one to add a relevant tag (keyword that's strongly related to this product).
 
(57)
(14)

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
Does Effective C++ for Kindle include More Effective C++ too? 0 May 6, 2009
See all discussions...  
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
   
Related forums


Listmania!


So You'd Like to...


Create a guide


Look for Similar Items by Category


Look for Similar Items by Subject