Effective C++: 55 Specific Ways to Improve Your Programs and Designs (Addison-Wesley Professional Computing Series)
|
| List Price: | £31.99 |
| Price: | £15.97 & eligible for FREE Super Saver Delivery on orders over £5. Details |
Availability: Usually dispatched within 24 hours
Dispatched from and sold by Amazon.co.uk
49 new or used available from £13.88
Average customer review:Product Description
“Every C++ professional needs a copy of Effective C++. It is an absolute must-read for anyone thinking of doing serious C++ development. If you’ve never read Effective C++ and you think you know everything about C++, think again.”— Steve Schirripa, Software Engineer, Google“C++ and the C++ community have grown up in the last fifteen years, and the third edition of Effective C++ reflects this. The clear and precise style of the book is evidence of Scott’s deep insight and distinctive ability to impart knowledge.”
— Gerhard Kreuzer, Research and Development Engineer, Siemens AG
The first two editions of Effective C++ were embraced by hundreds of thousands of programmers worldwide. The reason is clear: Scott Meyers’ practical approach to C++ describes the rules of thumb used by the experts — the things they almost always do or almost always avoid doing — to produce clear, correct, efficient code.
The book is organized around 55 specific guidelines, each of which describes a way to write better C++. Each is backed by concrete examples. For this third edition, more than half the content is new, including added chapters on managing resources and using templates. Topics from the second edition have been extensively revised to reflect modern design considerations, including exceptions, design patterns, and multithreading.
Important features of Effective C++ include:
- Expert guidance on the design of effective classes, functions, templates, and inheritance hierarchies.
- Applications of new “TR1” standard library functionality, along with comparisons to existing standard library components.
- Insights into differences between C++ and other languages (e.g., Java, C#, C) that help developers from those languages assimilate “the C++ way” of doing things.
Product Details
- Amazon Sales Rank: #11947 in Books
- Published on: 2005-06-02
- Original language: English
- Number of items: 1
- Binding: Paperback
- 320 pages
Editorial Reviews
Amazon.co.uk Review
This exceptionally useful text offers Scott Myers's expertise in C++ class design and programming tips. The second edition incorporates recent advances to C++ included in the ISO standard, including namespaces and built-in template classes, and is required reading for any working C++ developer.
The book opens with some hints for porting code from C to C++ and then moves on to the proper use of the new and delete operators in C++ for more robust memory management. The text then proceeds to class design, including the proper use of constructors, destructors, and overloaded operator functions for assignment within classes. (These guidelines ensure that you will create custom C++ classes that are fully functional data types, which can be copied and assigned just like built- in C++ classes.)
The author also provides a handful of suggestions for general class design, including strategies for using different types of inheritance and encapsulation. Never doctrinaire and always intelligent, these guidelines can make your C++ classes more robust and easier to maintain. --Richard Dragan, Amazon.com
From the Publisher
Effective C++ really is effective!
Effective C++ Second Edition: 50 Specific Ways to Improve Your Programs and Designs Scott Meyers Professional Computing Series The first edition of Effective C++ sold nearly 100,000 copies and was translated into four languages. It's easy to understand why. Scott Meyers' practical approach to C++ described the rules of thumb employed by the experts--the things they almost always do or almost always avoid doing--to produce clear, correct, efficient code.
Each of this book's 50 guidelines summarizes a way to write better C++, and the accompanying discussions are backed by specific examples. For this new edition, Meyers reworked every guideline in the book. The result is exceptional adherence to C++'s Draft International Standard, current compiler technology, and the latest insights into the use of C++ for real-world applications.
Highlights of Effective C++, Second Edition include:
Expert guidance on object-oriented design, class design, and the proper use of inheritance An examination of the standard C++ library, including how the Standard Template Library and classes like string and vector affect the structure of well-written programs Discussions of late-breaking language features like in-class constant initializations, namespaces, and member templates Wisdom usually possessed by only the most experienced developers Effective C++ continues to be essential reading for every developer working with C++.
From the Back Cover
— Steve Schirripa, Software Engineer, Google“C++ and the C++ community have grown up in the last fifteen years, and the third edition of Effective C++ reflects this. The clear and precise style of the book is evidence of Scott’s deep insight and distinctive ability to impart knowledge.”
— Gerhard Kreuzer, Research and Development Engineer, Siemens AG
The first two editions of Effective C++ were embraced by hundreds of thousands of programmers worldwide. The reason is clear: Scott Meyers’ practical approach to C++ describes the rules of thumb used by the experts — the things they almost always do or almost always avoid doing — to produce clear, correct, efficient code.
The book is organized around 55 specific guidelines, each of which describes a way to write better C++. Each is backed by concrete examples. For this third edition, more than half the content is new, including added chapters on managing resources and using templates. Topics from the second edition have been extensively revised to reflect modern design considerations, including exceptions, design patterns, and multithreading.
Important features of Effective C++ include:
- Expert guidance on the design of effective classes, functions, templates, and inheritance hierarchies.
- Applications of new “TR1” standard library functionality, along with comparisons to existing standard library components.
- Insights into differences between C++ and other languages (e.g., Java, C#, C) that help developers from those languages assimilate “the C++ way” of doing things.
Customer Reviews
If you're developing in C++, you need to read this book
C++ can be a language fraught with peril. Leave off a "virtual" in the wrong place and you've created a memory leak. Forget to implement a copy constructor in a particular class and you've created a corrupt heap waiting to happen. In this book, Scott presents guidelines on 50 C++ topics covering a broad range of subjects: how to avoid the C++ pitfalls mentioned above, how to write better code, how to effectively use C++ constructs in your OO designs, and more. Whether you're a newbie or an expert, there's substantial meat in this book for you.
Scott's easy-going writing style makes the explanations easy to read and digest. Unlike other books I've read, Scott provides detailed explanations allowing you to really understand the topic at hand. The 50 items are self-contained chunks of information, each thoroughly covering a specific topic.
C++ developers working for me are required to read this book (and Scott's companion, "More Effective C++") before I let them write a line of production code.
The legend
This is the definitive second C++ book, the one you should read after you've read a good introduction. You need to be familiar with the syntax of C++, then this book will teach you about using C++'s features in a non-trivial way.
C++ is not short on books that provide bite-sized mini-essays on the best way to use some feature of the language, but this is the ne plus ultra. It cuts through the bewildering complexity of C++, providing simple guidelines about what to do and what never to do. For example, you may understand the difference between pointers versus references, const versus non-const. But their various combinations as function parameters and return types may be bewildering. Don't worry - Meyers dispenses his wisdom clearly and efficiently. You'll wonder why it confused you in the first place. Then he repeats the trick another 54 times, taking in all of C++, including some template issues, and finding time to mention TR1 and Boost, too.
Like the GoF Design Patterns book, you need to read this or people will think you're an amateur. Fortunately, Meyers is a witty and pithy writer and his examples are always very well judged. Make this the first book you read after you've finished learning the basics.
Great value book.
This has been my first C++ book after Stroustrup's.
After reading it I can say that much of the stuff in this book can also be found on Stroustrup's. What is the added value of this book then ?
Objectively, it brings some techniques that you may encounter for the first time here, and that once learned they use to become bread & butter of everyday programming. Think about the body/handle or letter/envelope patterns. You can learn them from Coplien's, from Gang of Four's "Design Pattern" or elsewhere. However Meyers' account on these topics is truly straightforward and expanded (respect to Coplien's, e.g.).
But there's more. A single read of a big manual (e.g. Stroustrup or Lippman or Deitels) will often result as not enough impressing to the novice, especially if the read has been a fast one ("we need that you learn C++ as soon as possible ..."). Too many details could pass unobserved; hence a second, slower read would be a good idea. But reading such a manual twice, from the first to the last page, is something that require a fair amount of courage. It's at this point that books like this and others (always the company: Coplien, Meyers, Murrai, Allison, Koenig and so on) show their usefulness: they make you ponder about those details you've missed but that are really important if you want to exploit the language as a good accustomed user does.
Why this book instead of some others of the same kind ? Simply because it's very clearly written and easily readable. I've had absolutely no difficulties in reading it, item after item. Meyers has a good and often entertaing writing style, and more important he very well knows the language. I'd say: one of the best source to improve your language knowledge from.




