- Taschenbuch: 624 Seiten
- Verlag: Pearson Education (Us); Auflage: Pap/Cdr (21. Oktober 2004)
- Sprache: Englisch
- ISBN-10: 0321228774
- ISBN-13: 978-0321228772
- Größe und/oder Gewicht: 18,5 x 3,6 x 22,9 cm
- Durchschnittliche Kundenbewertung: Schreiben Sie die erste Bewertung
- Amazon Bestseller-Rang: Nr. 501.527 in Fremdsprachige Bücher (Siehe Top 100 in Fremdsprachige Bücher)
- Komplettes Inhaltsverzeichnis ansehen
Andere Verkäufer auf Amazon
+ EUR 6,94 Versandkosten
Imperfect C++: Practical Solutions for Real-Life Programming (Englisch) Taschenbuch – 21. Oktober 2004
Kunden, die diesen Artikel gekauft haben, kauften auch
Kunden, die diesen Artikel angesehen haben, haben auch angesehen
Es wird kein Kindle Gerät benötigt. Laden Sie eine der kostenlosen Kindle Apps herunter und beginnen Sie, Kindle-Bücher auf Ihrem Smartphone, Tablet und Computer zu lesen.
Geben Sie Ihre Mobiltelefonnummer ein, um die kostenfreie App zu beziehen.
Wenn Sie dieses Produkt verkaufen, möchten Sie über Seller Support Updates vorschlagen?
C++ is one of the most important languages today, but, as with all languages, it is not perfect. Far from it. Hence the topic (and title) of this book: practical techniques for dealing with problems that arise in C++ programming not because the programmer is inexperienced or incompetent, but because this otherwise powerful language is itself deficient in some respect.This book reduces the frustration and indecision programmers experience everyday when using C++. Far from being stymied by a lack of expressiveness in the language, it is commonly the vast array of potential paradigms and techniques supported by C++ that causes the problems. Too many choices.Too much complexity. Where to begin? Where to go? The author, having himself experienced inherent C++ deficiencies for years, presents detailed solutions for dealing with the aggravating problems they cause programmers.
C++, although a marvelous language, isn't perfect. Matthew Wilson has been working with it for over a decade, and during that time he has found inherent limitations that require skillful workarounds. In this book, he doesn't just tell you what's wrong with C++, but offers practical techniques and tools for writing code that's more robust, flexible, efficient, and maintainable. He shows you how to tame C++'s complexity, cut through its vast array of paradigms, take back control over your codeand get far better results.
If you're a long-time C++ developer, this book will help you see your programming challenges in new waysand illuminate powerful techniques you may never have tried. If you're newer to C++, you'll learn principles that will make you more effective in all of your projects. Along the way, you'll learn how to:
Overcome deficiencies in C++'s type system
Enforce software design through constraints, contracts, and assertions
Handle behavior ignored by the standard including issues related to dynamic libraries, static objects, and threading
Achieve binary compatibility between dynamically loading components
Understand the costs and disadvantages of implicit conversionsand the alternatives
Increase compatibility with diverse compilers, libraries, and operating environments
Help your compiler detect more errors and work more effectively
Understand the aspects of style that impact reliability
Apply the Resource Acquisition Is Initialization mechanism to a wide variety of problem domains
Manage the sometimes arcane relationship between arrays and pointers
Use template programming to improve flexibility and robustness
Extend C++: including fast string concatenation, a true NULL-pointer, flexible memory buffers, Properties, multidimensional arrays, and Ranges
The CD-ROM contains a valuable variety of C++ compilers, libraries, test programs, tools, and utilities, as well as the author's related journal articles. New and updated imperfections, along with software libraries and example code are available online at http://imperfectcplusplus.com.
© Copyright Pearson Education. All rights reserved.Alle Produktbeschreibungen
|5 Sterne (0%)|
|4 Sterne (0%)|
|3 Sterne (0%)|
|2 Sterne (0%)|
|1 Stern (0%)|
Die hilfreichsten Kundenrezensionen auf Amazon.com
In all fairness, this book does talk of some practical challenges that C++ programmers face, but all of that content could have been neatly rolled into a much better organized set of sections and chapters - spanning no more than 100 pages. If somebody could distill the contents of this book into that, it would form a handy companion for studying C++ as a practitioner, nothing more. If you've read Alexandrescu (Modern C++ Design), or Dewhurst (C++ Common Knowledge) and came to this book expecting similar learning and insight, I'm afraid you'd be sorely disappointed. I am a bit baffled by the current ratings - touching 5 stars!
This book was published in 2005; needless to say, it does not cover C++11. Some of the tips in this book have been rendered obsolete, by new features introduced in C++11.
I was disappointed in the quality of the printing and binding. The pages look like they have been photocopied, with small black dots here and there. The binding is such that the pages don't "turn smoothly" (if that makes sense). It's not a huge issue but it does make it a bit less comfortable to read.
Here is example on p.171
Reader hint: Anytime I refer to a solution as wonderfully elegant, you can be sure it's one that I 'think' I've invented.
Here is another one on p.383
They actually appreciated my honesty in coming clean. Lesson: always be honest; it can earn you friends in this industry where responsibility takers are few and far between.
I may be wrong here seeing as all others have great reviews, but to me this book has probably hurt more than helped me. If you want a cringe-worthy page turner, by all means go for it!
Be warned, it does take a little while to get going, and the author has a rather unusual writing style, which can best be described as an informal hybrid of Aussie and British. And admittedly the opening part of the book covers material reminiscent of the likes of 'Effective C++', albeit with a stronger emphasis on optimisation.
But once it gets going, there's a whole new world opened up, rather remote from the rarefied atmosphere of more theoretical books. Imperfect C++ has a very 'in the trenches' feel, where you need to write programs that talk to C, and on a Windows platform. None of the book is about object oriented design as such, but has a library designer's appreciation for dealing with operating system quirks.
You know how lots of books have advice along the lines of "NEVER do this" or "ALWAYS do this"? Matthew Wilson takes great delight in providing examples where you might want to do the opposite, and covers a wide variety of topics, including defining a portable boolean, a NULL value, and C#/Pascal/Python-like properties.
Purists will almost certainly dislike the fairly heavy use of macros for some of the solutions here, you'll have to get used to the appearance of code with a plethora of underscores in. And the book assumes a reasonably high level of knowledge of C++. In particular, there's little hand holding. Entire class definitions are often provided, but you won't always get example application code to see it in action. This is a little unfortunate, particularly in the chapters where the author introduces his own idioms. It requires careful concentration to work out the physical layout of some of the solutions (e.g. are these free functions or member functions? In the same namespace or a different namespace?). On the other hand, some readers will no doubt welcome the vigorous thought that is required.
Overall, this is a very different, practical book to most of the C++ books out there, with a very high signal-to-noise ratio. Add it to your C++ recommended reading list.