Organized in the popular problem-and-solution format of Exceptional C++ and More Exceptional C++, this third book increases the focus on in-depth coverage of generic programming and the C++ standard library, along with exception safety, class design, memory and resource management, optimization and efficiency. Ebook then concludes with four case studies that inspect and dissect actual published C++ code to see what it does well, what it does badly, and what choices we might make to improve the originally published solutions to exhibit better – nay, exceptional – C++ style.
This book is about providing successful strategies for solving real-world problems in C++. Like its predecessors, it draws on years of in-the-trenches experience, and provides tested techniques and practical solutions for programmers designing modern software systems with C++, from small projects to enterprise applications.
Book contents: Built around 40 Items, Exceptional C++ Style ebook helps you understand the rules and issues critical to successful software design and development in C++.
Book aimed at advanced C++ developers who want to hone their programming chops even further, Herb Sutter’s More Exceptional C++ book borrows the format of his earlier title, Exceptional C++, and delivers some of today’s best-available thinking on the c++ language in a handy and effective format. A compilation of the author’s own experience and research on the thornier aspects of C++, this ebook will serve as a worthy resource for making sure you get the most out of this powerful language.
The concise text of the book covers a range of challenging topics in C++ without attempting to be comprehensive. Each “item” in the ebook is presented as a question to try and solve yourself before the author presents his solution, plus additional detail as needed. For most topics of the book, Sutter ends by giving his advice on the best practices (and gotchas to avoid).
Early sections of the book concentrate on using Standard Template Library (STL) container classes, like removing items effectively, and the subtle differences between container types. Standout sections of the ebook on designing custom templates (using specialization techniques) and exception-safe classes will help you do more with your own classes. One entertaining problem here shows a number-guessing game (Mastermind) built as efficiently as possible using STL code (including expert-level use of generic functions to do much of the work).
Several problems on copy-on-write (COW) semantics for more efficient classes point out the issues surrounding code optimization. There has been a debate in the C++ community for years about whether it’s possible to design truly “exception-safe” classes. Sutter, in his books, points out the difficulty with a precise analysis of the issues surrounding exceptions and C++ constructors. Material on the finer points of inheriting classes of the ebook (including when to avoid and when to use multiple inheritance in C++) will extend your class design options. A good section of the book is the author’s explication of how to simulate COM/Java style interfaces in C++, which isn’t immediately obvious, even to experienced C++ developers.
Later sections of the ebook delve into code maintenance issues, including advice for using macros, typedefs, and namespaces. (Advice on migrating existing C++ code into namespaces will help you combine legacy code with other libraries.) A final appendix of the book shows off some benchmarks for optimizing strings using a variety of techniques.
Intelligent, provocative, and demanding, More Exceptional C++ shows why C++ continues to be a rich, complex, and challenging language. Armed with titles like this one, experienced C++ programmers can write better code and avoid pitfalls buried in the outer edges of their favorite language.
Topics covered by the ebook:
- ebook explains puzzles and solutions to advanced topics in C++
- using remove() and erase() for Standard Template Library (STL) containers
- custom templates with inheritance and traits
- book contains description of using typename
- containers used with pointers
- the finer points of vector,set,and maps
- potential problems with vector
- book explains post and prefix operators used with functions
- templates overloading
- explicit and partial template specialization (plus function template overloading)
- using STL to implement Mastermind (a number-guessing game)
- the finer points of inline functions
- lazy optimizations (including copy-on-write–COW–and semantics for strings)
- book explains iterators and references
- gotchas in multithreaded environments
- designing exception-safe classes
- constructor failures and object lifetimes
- uncaught exceptions (the pitfalls of using uncaught_exception())
- unmanaged pointers (in parameter evaluation and auto_ptr)
- copy assignment
- inheritance and exception safety issues
- multiple inheritance dos and don’ts
- the Siamese Twin problem
- ebook describes virtual functions
- controlled polymorphism
- memory management issues with smart pointers (auto_ptr)
- recursive declarations
- how to simulate nested functions
- preprocessor macros
- hints for initialization
- forward declarations
- using typedef effectively
- best practices for namespaces (including code maintenance and migrating existing C++ code to namespaces)
- appendices on advice for multithreaded optimization
Aimed at the experienced C++ programmer, Herb Sutter’s book Exceptional C++ tests the reader’s knowledge of advanced C++ language features and idioms with several dozen programming puzzles and explanations. This book can definitely help raise your C++ class design skills to the next level.
Based on the author’s Guru of the Week Web column, this ebook poses a series of challenging questions on the inner workings of C++, centering around generic programming with the Standard Template Library (STL), exception handling, memory management, and class design. Even if you think you know C++ well, most of the problems,describing in the book will teach you something more about the language and how to write more robust classes that are “exception safe”.Don’t think this is just “language lawyering,” though.
The author’s explanations stress sound programming principles (favoring simplicity) and idioms (such as the Pimpl idiom for class design that promotes faster compile times and better maintainability, or using “smart” auto_ptrs with STL.) Judging from the range and depth of these examples, Sutter’s command of the inner workings of C++ is impressive, and he does an excellent job of conveying this expertise without jargon or a lot of theory. After reading this book, C++ designers will learn several “best practices” of how to write robust, efficient classes that are “exception safe.” Chances are you’ll gain a better understanding of memory management techniques and working with STL too. For the experienced developer seeking leading-edge knowledge of some of the best ways to use C++, ebook Exceptional C++ is both a challenging and truly worthwhile source of information.
Topics covered by book:
- advanced C++ programming tutorial
- generic programming
- book contains tips for string classes
- containers and STL
- ebook describes virtual functions
- class inheritance
- the Pimpl idiom
- namespaces
- memory management
- C++ memory areas
- overloading new and delete
- book contain description of using smart pointer with auto_ptr
- using const
- casts
- hints for better performance and code maintainability
This free ebook is a translation of the third edition of the american bestseller More Effective C++ and is a guide for the correct use of C++ programming language. E book will help make your program more understandable, simple in accompanied and effective. In addition to material describing the overall strategy design, ebook includes a chapter on programming using templates and resource management, as well as plenty of tips that will improve your programs and make the work more interesting and creative. Electronic book also includes new material on the principles of exceptions handling, the design programming pattern and library facilities.
This electronic book is the third edition of the American bestseller More Effective C++ and is a guide for the correct use of C++ language. E book will help you to make your program more understandable, simple and effective. In addition to material, describing the overall strategy design, ebook includes a chapter on programming using templates and resource management, as well as plenty of tips that will improve your programs and make the work more interesting and creative. Electronic book also includes new material on the principles handling of exceptions, the pattern design and library facilities.
E book is geared to programmers familiar with basic C++ and that have skills of c++ practical application. Electronic book gives advice on the most effective use of the C++ operators. Deals with the rights of transfer operators, how to bring the types of implementation mechanism RTTI and much more.Ebook provides practical advice on the use of buffered operator new, virtual constructors, smart pointers, proxy-classes and double dispatch. Particular attention is given to work with exceptions and the use of C code in programs written in C++. Electronic book describes the most latest tools of language and shows how they improve programs productivity. Applications include code of template auto_ptr and Internet-resources on C++.
