Math.com Store
 Location:  Home » Math Books » 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)

Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition)Author: Scott Meyers
Publisher: Addison-Wesley Professional

List Price: $49.99
Buy New: $32.25
as of 11/24/2009 14:09 CST details
You Save: $17.74 (35%)



New (47) Used (19) from $31.48

Seller: Amazon.com
Rating: 5.0 out of 5 stars 143 reviews
Sales Rank: 6853

Languages: English (Original Language), English (Unknown), English (Published)
Media: Paperback
Edition: 3
Pages: 320
Number Of Items: 1
Shipping Weight (lbs): 1.7
Dimensions (in): 9.3 x 7.6 x 0.7

ISBN: 0321334876
Dewey Decimal Number: 005.133
EAN: 9780321334879
ASIN: 0321334876

Publication Date: May 22, 2005
Availability: Usually ships in 24 hours

Customer Reviews:
Showing reviews 21-25 of 143



3 out of 5 stars not all the suggestions in the book are sound   March 14, 2007
T. Liu
7 out of 38 found this review helpful

I would consider this book somewhat useful, but readers should treat the suggestions in the book judiciously. Some of the suggestions are too trivial for advanced programmers. For example, "prefer const and inline
to #define". Every C++ programmer knows this! And this is also exactly the same advice clearly stated in Stroustrup's book "the C++ programming language". I think that the author is highly unprofessional by not citing Stroustrup who gave the same advice much earlier in the classic book that every C++ programmer knows.

Some suggestions in the book are not even correct. For example, the suggestion "never redefine an inherited nonvirtual function". This suggestion is incorrect. The author argues that the virtual functions should be defined. However, it does not need to. In some cases, redefine an inherited nonvirtual function is necessary, efficient, and the right way. For example, in the following case:

class A{ public void print() {cout<<"A print";};}
class B: public A { public void print() {cout<<"B print";};}
class C: public B { public void print() {cout<<"C print";};}

A a; B b; C c;
a.print(); b.print(); c.print();

In this case, the correct functions are called. More importantly, it does not need the virtual function and the dynamic binding to do that. So it is much more effecient that virtual functions. And efficiency is the main advantage of C++.

Cleary, if redefine the nonvirtual function is a bad practice, the C++ standard would have already banned it.

This case applies to the scenario that the compiler knows the exact type in compile time. If you use pointers or reference, like

A *a=new A(); B *b=new B(); C *c= new C();
Then only the "A print" would be the result of the output.



5 out of 5 stars If you program in C++ this is a must read.   February 23, 2007
Michal P. Todorovic (Long Beach, CA United States)
0 out of 3 found this review helpful

Excellent practices for programming in C++. For all levels of programmers. Not only has it been good for my programming, I require that every programmer that works for me read it as well.


5 out of 5 stars the legend   February 22, 2007
Thing with a hook
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.



4 out of 5 stars Must Read != Must follow   January 31, 2007
Ke Liu (NY USA)
1 out of 3 found this review helpful

Anyway, it is a very good book for an intermediate newbie in C++, especially if you are looking for a C++ coder position. :)
It opens your eyes on C++. But before reading it, you need to open your mind. "If you trust in it at all, you may prefer not at all."



5 out of 5 stars Simply a must have :)   January 20, 2007
Patryk Bajer (Poland)
A must-have for everyone seriously thinking about C++ programming. Very good book for all C++ developers with average knowledge on this topic. Contains a lot of well described tips and advices how to design and write C++ applications. Good style, easy reading. :)

Showing reviews 21-25 of 143



Disclaimer

Return to Math.com
Sponsored Links
Math Jobs


Quick Links
Return to Math.com
Math Tutoring
Top Selling Electronics
Textbooks
Math Jobs
Privacy
Categories
Calculators
Math Books
Math DVD
Math Games
Math Toys
Math Software
Game Systems
Math Apparel
Subcategories
Paperback
Mass Market
Trade
Related Categories
• Textbooks Trade-In
Specialty Stores
Books
• C & C++ Windows Programming
Development
Microsoft
Computers & Internet
Subjects
• General
Languages & Tools
Programming
Computers & Internet
Subjects
• General
C
Programming
Computers & Internet
Subjects
• General
Programming
Computers & Internet
Subjects
Books
• General
Software
Computers & Internet
Subjects
Books
• Paperback
Binding (binding)
Refinements
Books
• Printed Books
Format (feature_browse-bin)
Refinements
Books