PROGRAMMER TUTORIALS
solutions to programmer problems

ASP
C#
C++
COBOL
Delphi
HTML
Java
J2EE
JavaScript
JSP
.NET
Perl
PHP
SQL
Visual Basic
XML
View Shopping Cart


Get a FREE Apple iPod Photo

  Books Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition) (Addison-Wesley Professional Computing Series)

Rating: 5 out of 5 stars - Must-have
By far one of the best books I own. It really is a must-have.



Rating: 5 out of 5 stars - Bought three editions and read them all
There are very few technical books that I have read more than once. I can count on one hand the number that I have read three times. Scott Meyers' Effective C++ is one that I have not only read more than once, but have bought three separate editions and read them all more than once. This latest edition is not just a minor updating of previous editions. It contains far more information than earlier editions, and even goes beyond what libraries provided with common compilers currently deliver, making use of the tr1 (Technical Report 1) stuff that will be the future. That's not to say it cannot be used right now - learn from Meyers and use the Boost library (downloadable free) until tr1 becomes commonly available.

In my opinion this third edition is no longer suitable for people new to C++, but once developers have some C++ experience under their belt this becomes a must have. That's not just because most interviewers get their technical questions from Meyers' books (they really do!), but because the content is genuinely useful.




Rating: 5 out of 5 stars - Must read
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.



Rating: 4 out of 5 stars - Very didactic
This is the type of book I recommend to everyone with little experience in C++ and willing to become a better and more experienced coder.

The author talks about several items which are useful for dealing with class hierarchies, design, good coding practices and solution to usual problems (and also shows some problems dont have a simple solution).

The way he writes makes it very easy for every coder to understand even for non native english readers. Sometimes you feel like going to the PC to implement what hes talking about and see the magic of C++ come alive.

Great book.





Rating: 3 out of 5 stars - not all the suggestions in the book are sound
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.



page 2 of  20
 1  2  3  4  5  6  7  8  9  10  11 


2000-2006 ProgrammerTutorials.com


Top100WebShops.com