Professional C++ Paperback – Oct 4 2011
|New from||Used from|
Customers Who Bought This Item Also Bought
No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.
Getting the download link through email is temporarily not available. Please check back later.
To get the free app, enter your mobile phone number.
From the Back Cover
Master the latest release of the C++ language: C++11
C++ is often the language of choice for writing fast, powerful, and enterprise-class object-oriented programs, be it games or major commercial software applications. However, there's no two ways around it: C++ can be difficult to master. With this no-nonsense book, you will learn to conquer the latest version of the C++ language: C++11. The authors share real-world examples, decipher little-known features of C++, and reveal the significant changes to C++ that accompany the latest release. Ultimately, you'll discover programming methodologies, reusable design patterns, and good programming style that will increase the quality of your code and improve your programming efficiency.
Professional C++, 2nd Edition:
Offers detailed code examples that you can plug into your own code
Takes you on a technical tour of C++ and the STL, and explores the unusual and quirky aspects of this language
Exposes best practices for using the more advanced features of C++, including operator overloading, managing memory, writing templates, and writing multithreaded code
Discusses techniques for writing cross-language and cross-platform code
Teaches you the importance of code reuse as well as the nuances of writing readable C++ code
Wrox Professional guides are written by working developers to address everyday needs. They provide examples, practical solutions, and expert education in new technologies, all designed to help programmers do a better job.
Join our Programmer to Programmer forums to ask and answer programming questions about this book, join discussions on the hottest topics in the industry, and connect with fellow programmers from around the world.
Take advantage of free code samples from this book, as well as code samples from hundreds of other books, all ready to use.
Find articles, e-books, sample chapters, and tables of contents for hundreds of books, and more reference resources on programming topics that matter to you.
About the Author
Marc Gregoire is a Microsoft Visual C++ MVP, an active contributor to CodeGuru, and blogs at www.nuonsoft.com/blog/. Marc is a software architect, worked for Siemens and Nokia Siemens Networks as a software consultant, and now works for Nikon Metrology.
Nicholas A. Solter is an application architect at ContextOptional, Inc., a social media advertising company.
Scott J. Kleper is cofounder and CTO of ContextOptional, Inc.
What Other Items Do Customers Buy After Viewing This Item?
Top Customer Reviews
Most Helpful Customer Reviews on Amazon.com (beta)
- Contains a lot of information on various aspects of C++ programming, which can be used by people of various levels.
- Provides a more practical approach to teaching and tries to show how real programmers use the language.
- Uses C+11 and provides modern approaches to programming in C++.
- Lacks focus. The first few chapters are for beginners, while later chapters are focused for more experienced programmers.
- Teaches some bad programming habits. For example, the virtual keyword should not be used before everything as the authors recommend.
This book is not bad. The title is misleading because it sounds like it is for more experienced programmers. However, the problem is that
this book is not for beginners either, although it tries to teach basic syntax in the first few chapters. Which puts it in a position where
you probably will learn from this book, but you will either not be able to grasp all the concepts or have to skip chapters because you already
understand the information. It would have been a much better book if it was more focused, rather than trying to accommodate for all levels.
This is a very readable and helpful guide to C++ OOP. It is meant to be a programming guide rather than merely covering syntax (as C++ Primer does for example). As the original edition back cover said, "You'll learn simple, powerful techniques used by C++ professionals, little-known features that will make your life easier, and reusable coding patterns that will bring your basic C++ skills to the professional level."
Coming into this with extensive C and other programming experience, including some C++ many years ago, this book was ideal for me. I especially appreciated the authors' ability to give a very good foundation for developing well-designed, robust C++ code. I went from a very solid C programmer to developing using a new C++ mentality in a couple of weeks.
The authors are obviously quite experienced and knowledgeable in C++ and OOP, and write in an enjoyable, easy-to-follow manner. They don't just present C++, they discuss every aspect of how to develop great code using C++. They take a very reasonable and competent approach to coding, pointing out pitfalls and providing much guidance together with good explanations of their reasoning. This book doesn't just tell you how you can do something in C++, it explains how to do it well.
Professional C++ is for an intermediate to advanced programmer with either some C++ experience or a good deal of other programming experience. It is not meant to be an exhaustive exposition of C++ (although it does cover all the basics of the language), but it is certainly sufficient to get a developer not only up and coding, but doing so with better style and more competence than many seasoned C++ professionals.
Some of the many new C++ features covered in this new edition include auto variables, range-based for loops, std::array, strongly-typed enumerations, hash tables, shared_ptr/unique_ptr, lambda expressions, defaulted functions, uniform initialization, nullptr, random number engines, delegating constructors, object alignment, move constructors, and built-in concurrency. Mr. Gregoire has also added considerable new material not directly related to C++11 such as sections on Agile/Scrum and source code control in the software engineering chapter, and a discussion of the Iterator design pattern.
The physical quality of this edition is improved, with whiter, high quality paper vs. the old newspaper-like pages. The new fonts are more sleek and modern, echoing many other programming texts, although I find it less inviting to read. This edition loses the grey background for all new code, making it harder to distinguish code from text as I flip through; instead, important tips are highlighted in grey to ensure the reader takes note. The code examples are shortened and less complete in themselves, but there are code improvements and references under each code block to the corresponding file on the website with the full code example.
Some of the many topics I found interesting and useful include: code reuse, software engineering methods (including a several page synopsis of extreme programming), exceptions, STL, frameworks, multithreading, and design patterns. On some important topics that could be books in themselves, enough material is presented here to give the reader a basic understanding of the subject and an awareness of the issues so that the reader can decide whether to pursue the subject further.
Finally, there is an excellent section on preparing for a C++ interview. It covers all the common C++ interview questions and will help you impress with your knowledge of the language. It also serves as an excellent quick review of the book and important language features.
Although this book was all I really needed to get up and going, I found several other books also quite helpful. C++ in a Nutshell is a very complete reference for experienced C++ programmers, and the new third edition of Effective C++ by Scott Meyers will give you a deeper understanding of the subtleties of C++. Of course, The C++ Programming Language, 4th Edition by the inventor of C++ is a must-have for any serious C++ programmer. Finally, Object-Oriented Design Heuristics by Arthur J. Riel is a classic on OOP.
C++ is a language that can be very complex, and this book really does cover a wide range of material. Having said that, oftentimes, I felt overwhelmed after reading some of the chapters, I feel that some things were not explained in a clear manner. I felt that the flow was uneven, an example being within the first two chapters - (if I recall) they showed a short example of a student registration system. It seems like a complicated subject to tackle at the time considering the reader was barely learning the basics of the language. In other sections, the book did do a good job, I particularly thought the explanations on the STL Containers/Data Types was very informative.
I have not read other books on C++, if you work really hard you can learn it with this book. I do wonder if perhaps there might be an easier book for the task.
Surely, it deals the basic features of C++ 'grammar, class, inheritance, polymorphism, in/out, exception handling, and so on', but the real good point of this book is that it dissolves the features of C++11 [special keywords (like final, constext, etc.), unordered_*, module for regular expressions, ...] into the basic stuffs well.
A Good Book~!
I don't like to be long winded, so in summary, if you want to learn C++, I highly recommend you get this book before a new standard comes out.
Look for similar items by category
- Books > Computers & Technology > Programming > C
- Books > Computers & Technology > Programming > Languages & Tools > C
- Books > Computers & Technology > Programming > Software Design, Testing & Engineering > Object-Oriented Design
- Books > Textbooks > Computer Science & Information Systems > Programming Languages