libcats.org
Главная

C++ Primer (4th Edition)

Обложка книги C++ Primer (4th Edition)

C++ Primer (4th Edition)

, ,
As pointed out in other reviews: compared to previous editions, the 4th edition of the "C++ Primer" is considerably different (and shorter). For this edition, Barbara E. Moo (co-author of "Accelerated C++"), a long-time programmer and writer, vastly revamped and enhanced Stan Lippman's (and Josee Lajoie's) classic.

The Good: This book is over 800 pages long, and it is quite complete in its coverage, but it is highly readable. The "C++ Primer" can be used as an introductory text: the authors have interspersed a myriad of code snippets throughout the text (which they also integrated into complete working programs; these are provided on the publisher's website, packaged for different platforms). Similarly, there are exercises at the end of most sections; these are well thought out, and greatly facilitate the reader's learning (unauthorized solutions exist on the web in the form of a wiki). Furthermore, throughout the book parts of the text have been highlighted to call attention to common pitfalls, good programming practices, and important concepts. Finally, each chapter concludes with a summary and a glossary of defined terms. In contradistinction to many other popular volumes, this book teaches real C++, not "C with classes", i.e., it contains extensive treatments of the standard library containers and algorithms, of object-oriented programming, and of generic programming. For example, the coverage of the standard library in this book is much more extensive than in "C++ Primer Plus" by Stephen Prata, a book that is often compared with (or confused with) the "C++ Primer". Even so, the "C++ Primer" also covers a number of older topics such as C-style character strings, lower-level bit manipulation of integral values, and old-style casts. The material in this book is thematically organized (pointers, expressions, functions, classes, constructors, object-oriented programming, template programming, etc.). This, along with the many forward and backward cross-references, makes it a great reference both for people who have never read it, and for those who read it a while back.

The Bad: Object-oriented programming is covered in approximately 60 pages. The coverage is solid, just like in the rest of the book, but it is condensed. For the sake of comparison: Josuttis's book "Object-Oriented Programming in C++" devotes 170 pages on more or less the same topics. In other words, an object-oriented design background, while not strictly necessary, would make reading this book easier. This aspect of "condensedness" is a more general feature of reading the "C++ Primer": even though the book is quite long, there is no filler material. This slows the reader down, so it might interfere with one's progress when using this as a first C++ book. For example, the first 300 pages (perhaps mention but) do not discuss in detail the standard library algorithms, smart pointers, object-oriented or generic programming, and other aspects of professional C++ development. A related point: I mentioned above that the book works as a reference since it is complete and contains many cross-references. A side-effect of this is that some of the earlier chapters make repeated mention of topics that have not yet been covered; that's great if this is your second C++ book (since it means every chapter is complete), but is potentially too much information for a total newbie. Finally, this book was intentionally limited to Standard C++. As a result, it doesn't talk about TR1 (a specification for functionality being added to C++'s standard library) or boost (a collection of libraries offering TR1 implementations and much more), or threading in C++. A 5th edition of the "C++ Primer" will probably appear after the new standard (still known as C++0x) comes out.

Despite the few drawbacks that I have noted above, I believe that this is a wonderful book which deserves 5 stars.

----------------

Here are my suggestions on related START Start TRANSACTION WITH CONSISTENT SNAPSHOT; /* 671 = 2d6c9b6cb19df2e59ed1c0852fbc2ea3
Ссылка удалена правообладателем
----
The book removed at the request of the copyright holder.
Популярные книги за неделю:
Только что пользователи скачали эти книги: