55 Specific Ways to Improve Your Programs and Designs (3rd Edition)
ByScott Meyers★ ★ ★ ★ ★ | |
★ ★ ★ ★ ☆ | |
★ ★ ★ ☆ ☆ | |
★ ★ ☆ ☆ ☆ | |
★ ☆ ☆ ☆ ☆ |
Looking for55 Specific Ways to Improve Your Programs and Designs (3rd Edition) in PDF?
Check out Scribid.com
Audiobook
Check out Audiobooks.com
Check out Audiobooks.com
Readers` Reviews
★ ★ ★ ★ ★
jess lilja
WARNING beforehand, this book is not for C++ beginners. It is best for experienced intermediate-level C++ programmers.
After reading through, you will have elegant C++ design and implementation tips in mind, which will definitely improve your coding in the long run.
By the way, this is also a nice book to read before attending C++ technical interviews, especially for those who claimed to be C++ expert but not so much in real experience. :-)
After reading through, you will have elegant C++ design and implementation tips in mind, which will definitely improve your coding in the long run.
By the way, this is also a nice book to read before attending C++ technical interviews, especially for those who claimed to be C++ expert but not so much in real experience. :-)
★ ★ ★ ★ ★
linn therese
This book concentrates on the whys and hows of designing classes, and using C++'s syntactic features to express the way a class is intended to be used. As such, it is an insightful guide into the part of C++ that is most unique to the language among modern OO languages.
I highly recommend this book to intermediate-level C++ engineers who are seeking to grow toward expertise, as well as engineers who want to develop their class design skills.
The material in this book (and its sequel, to a lesser extent) is the crux of the difference between "an OO programmer who knows C++" and "A C++ expert".
I highly recommend this book to intermediate-level C++ engineers who are seeking to grow toward expertise, as well as engineers who want to develop their class design skills.
The material in this book (and its sequel, to a lesser extent) is the crux of the difference between "an OO programmer who knows C++" and "A C++ expert".
Critical Failures (Caverns and Creatures) (Volume 1) :: 42 Specific Ways to Improve Your Use of C++11 and C++14 :: An Unwelcome Quest: Magic 2.0, Book 3 :: The End of Diplomacy and the Decline of American Influence :: A Novel (The Broken Road Series Book 1) - The Broken Road
★ ★ ★ ★ ★
julie o tyson
This book is well written. Meyers explains many C++ details that are either badly explained or not explained at all in other books. His focus is always on productive and practical techniques and he doesn't sit on the fence: he gives you the benefit of clearly well thought out advice. If you want to understand C++ better and if you want to understand the design trade offs, for example, between inheritance, aggregation, and templates, this is a good place to look for help. This is one of those rare books that you will want to read more than once---as well as to refer to regularly. Highly recommended.
★ ★ ★ ★ ★
earine
This book was very insightful. Anyone starting into C++ should refer this book even if you have a basic knowledge about C++.
Some of the tips will save you lot of debugging time.
Also, a lot of things it mentions will make you a better C++ programmer. I keep of reading this book again and again till these tips become a habit
Some of the tips will save you lot of debugging time.
Also, a lot of things it mentions will make you a better C++ programmer. I keep of reading this book again and again till these tips become a habit
★ ★ ★ ☆ ☆
linn therese
This book does give you some specific ideas and ways to write better C++ code. But I'd read a section a couple times and have to talk to a friend to really figure out what they meant and how to do it. So overall I found the suggestions very good, but it would have been nicer if the explanations and code samples had been clearer.
★ ★ ★ ★ ★
cristybutit
Recently, I decided to make my programming language of choice to be C++ (although I use VB, C#, C++ and occasionally java).
I bought Effective C++ Third Edition & Effective STL (both by Mr. Meyers). The author knows all that he is talking about and he has generously clarified things like a personal tutor. I wish that I had a chance to read these books some years ago. I think I have acquired something which can help me build good programs and my professional confidence.
I bought Effective C++ Third Edition & Effective STL (both by Mr. Meyers). The author knows all that he is talking about and he has generously clarified things like a personal tutor. I wish that I had a chance to read these books some years ago. I think I have acquired something which can help me build good programs and my professional confidence.
★ ★ ★ ★ ★
jad taylor
A really good book where there is something to learn in every other example and chapter even if you consider yourself a master C++ programmer with years of experience. Besides reading the book, I happened to attend Scott's live training on Design patterns and Embedded C++ both of which were great experience.
★ ★ ★ ★ ★
jason jerus
You have read some newbie book like 'Thinking in C++' (as I did) or 'The C++ programming language', and wonder where to go next? 'Effective C++' book is your next step. Each item is a new world you might not know yet.
I'm glad I purchased this book in paper. After reading 1/3 of it I already knew that the book is worth all the time I would spend on it, so I purchased the other 2 books - 'More effective C++' and 'Effective C++' books by Scott Meyers immediatly.
I'm glad I purchased this book in paper. After reading 1/3 of it I already knew that the book is worth all the time I would spend on it, so I purchased the other 2 books - 'More effective C++' and 'Effective C++' books by Scott Meyers immediatly.
★ ★ ★ ★ ★
beverly mcclaskey
This Book should be on every C++ programmers shelf
i think no matter who you are or what level of experience you have
this book will teach regardless.
this book seems to be mainly about taking what you know and giving it an in-depth boost, i guess you could say the title says it all.
i think no matter who you are or what level of experience you have
this book will teach regardless.
this book seems to be mainly about taking what you know and giving it an in-depth boost, i guess you could say the title says it all.
★ ★ ★ ★ ☆
kati giblin
This book, and its vol2 (More effective C++) is a must have for any intermediate level C++ practitioner.
Unfortunately, the new material comes across as muddled, perhaps because C++ is now so complex that maybe even Dr Meyers doesn't quite get it? Who knowns.
Whatever the reason, this volume is markedly more muddled and therefore less impactful than its previous editions. But it is still an essential tome, hence the 4 stars.
Unfortunately, the new material comes across as muddled, perhaps because C++ is now so complex that maybe even Dr Meyers doesn't quite get it? Who knowns.
Whatever the reason, this volume is markedly more muddled and therefore less impactful than its previous editions. But it is still an essential tome, hence the 4 stars.
★ ★ ★ ★ ☆
kristina avagyan
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."
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."
★ ★ ★ ★ ★
imelda
This book really helps you become a sharper c++ class designer. Tips are brief and yet very well explained. I read the book from A to Z in a single day!.
I highly recomend this book for c++ programmers of any level of experience.
I highly recomend this book for c++ programmers of any level of experience.
★ ★ ★ ★ ☆
kristijan
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."
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."
★ ★ ★ ★ ★
qadira
This book really helps you become a sharper c++ class designer. Tips are brief and yet very well explained. I read the book from A to Z in a single day!.
I highly recomend this book for c++ programmers of any level of experience.
I highly recomend this book for c++ programmers of any level of experience.
★ ★ ★ ★ ★
archit
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. :)
★ ★ ★ ★ ★
kirsten kotsopoulos
Extremely well written C++ book; full of well argued, well presented, well discussed relevant C++ topics.
Both the student and the professional developer will benefit from this book. A must for the personal and the corporate book shelf.
Both the student and the professional developer will benefit from this book. A must for the personal and the corporate book shelf.
★ ★ ★ ☆ ☆
shanley
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.
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.
Please Rate55 Specific Ways to Improve Your Programs and Designs (3rd Edition)
This is highly recommended as you will learn while having fun.