Embracing Modern C++ Safely

Embracing Modern C++ Safely
Title Embracing Modern C++ Safely PDF eBook
Author John Lakos
Publisher Addison-Wesley Professional
Total Pages 4241
Release 2021-12-16
Genre Computers
ISBN 0137380518

Download Embracing Modern C++ Safely Book in PDF, Epub and Kindle

Maximize Reward and Minimize Risk with Modern C++ Embracing Modern C++ Safely shows you how to make effective use of the new and enhanced language features of modern C++ without falling victim to their potential pitfalls. Based on their years of experience with large, mission-critical projects, four leading C++ authorities divide C++11/14 language features into three categories: Safe, Conditionally Safe, and Unsafe. Safe features offer compelling value, are easy to use productively, and are relatively difficult to misuse. Conditionally safe features offer significant value but come with risks that require significant expertise and familiarity before use. Unsafe features have an especially poor risk/reward ratio, are easy to misuse, and are beneficial in only the most specialized circumstances. This book distills the C++ community's years of experience applying C++11 and C++14 features and will help you make effective and safe design decisions that reflect real-world, economic engineering tradeoffs in large-scale, diverse software development environments. The authors use examples derived from real code bases to illustrate every finding objectively and to illuminate key issues. Each feature identifies the sound use cases, hidden pitfalls, and shortcomings of that language feature. After reading this book, you will Understand what each C++11/14 feature does and where it works best Recognize how to work around show-stopping pitfalls and annoying corner cases Know which features demand additional training, experience, and peer review Gain insights for preparing coding standards and style guides that suit your organization's needs Be equipped to introduce modern C++ incrementally and judiciously into established code bases Seasoned C++ developers, team leads, and technical managers who want to improve productivity, code quality, and maintainability will find the insights in this modular, meticulously organized reference indispensable. Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.

EMBRACING MODERN C++ SAFELY.

EMBRACING MODERN C++ SAFELY.
Title EMBRACING MODERN C++ SAFELY. PDF eBook
Author
Publisher
Total Pages 0
Release 2021
Genre C++ (Computer program language)
ISBN

Download EMBRACING MODERN C++ SAFELY. Book in PDF, Epub and Kindle

Maximize Reward and Minimize Risk with Modern C++ Embracing Modern C++ Safely shows you how to make effective use of the new and enhanced language features of modern C++ without falling victim to their potential pitfalls. Based on their years of experience with large, mission-critical projects, four leading C++ authorities divide C++11/14 language features into three categories: Safe, Conditionally Safe, and Unsafe. Safe features offer compelling value, are easy to use productively, and are relatively difficult to misuse. Conditionally Safe features offer significant value but come with risks that require significant expertise and familiarity before use. Unsafe features have an especially poor risk/reward ratio, are easy to misuse, and are beneficial in only the most specialized circumstances. This book distills the C++ community's years of experience applying C++11 and C++14 features and will help you make effective and safe design decisions that reflect real-world, economic engineering tradeoffs in large-scale, diverse software development environments. The authors use examples derived from real code bases to illustrate every finding objectively and to illuminate key issues. Each feature identifies the sound use cases, hidden pitfalls, and shortcomings of that language feature. After reading this book, you will Understand what each C++11/14 feature does and where it works best Recognize how to work around show-stopping pitfalls and annoying corner cases Know which features demand additional training, experience, and peer review Gain insights for preparing coding standards and style guides that suit your organization's needs Be equipped to introduce modern C++ incrementally and judiciously into established code bases Seasoned C++ developers, team leads, and technical managers who want to improve productivity, code quality, and maintainability will find the insights in this modular, meticulously organized reference indispensable. Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.

Beautiful C++

Beautiful C++
Title Beautiful C++ PDF eBook
Author J. Guy Davidson
Publisher Addison-Wesley Professional
Total Pages 745
Release 2021-12-16
Genre Computers
ISBN 0137647867

Download Beautiful C++ Book in PDF, Epub and Kindle

Discover the Beauty of Modern C++ " Beautiful C++ presents the C++ Core Guidelines from a developer's point of view with an emphasis on what benefits can be obtained from following the rules and what nightmares can result from ignoring them. For true geeks, it is an easy and entertaining read. For most software developers, it offers something new and useful." --Bjarne Stroustrup, inventor of C++ and co-editor of the C++ Core Guidelines Writing great C++ code needn't be difficult. The C++ Core Guidelines can help every C++ developer design and write C++ programs that are exceptionally reliable, efficient, and well-performing. But the Guidelines are so jam-packed with excellent advice that it's hard to know where to start. Start here, with Beautiful C++. Expert C++ programmers Guy Davidson and Kate Gregory identify 30 Core Guidelines you'll find especially valuable and offer detailed practical knowledge for improving your C++ style. For easy reference, this book is structured to align closely with the official C++ Core Guidelines website. Throughout, Davidson and Gregory offer useful conceptual insights and expert sample code, illuminate proven ways to use both new and longstanding language features more successfully, and show how to write programs that are more robust and performant by default. Avoid "bikeshedding": stop wasting valuable time on trivia Don't hurt yourself by writing code that will cause problems later Know which legacy features to avoid and the modern features to use instead Use newer features properly, to get their benefits without creating new problems Default to higher-quality code that's statically type-safe, leak resistant, and easier to evolve Use the Core Guidelines with any modern C++ version: C++20, C++17, C++14, or C++11 There's something here to improve virtually every program you write, design, or maintain. For ease of experimentation, all sample code is available on Compiler Explorer at https://godbolt.org/z/cg30-ch0.0. Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.

Effective C++

Effective C++
Title Effective C++ PDF eBook
Author Scott Douglas Meyers
Publisher Addison-Wesley Professional
Total Pages 292
Release 1998
Genre Computers
ISBN

Download Effective C++ Book in PDF, Epub and Kindle

Effective C++ has been updated to reflect the latest ANSI/ISO standards. The author, a recognised authority on C++, shows readers fifty ways to improve their programs and designs.

Working Effectively with Legacy Code

Working Effectively with Legacy Code
Title Working Effectively with Legacy Code PDF eBook
Author Michael Feathers
Publisher Prentice Hall Professional
Total Pages 457
Release 2004-09-22
Genre Computers
ISBN 0132931753

Download Working Effectively with Legacy Code Book in PDF, Epub and Kindle

Get more out of your legacy systems: more performance, functionality, reliability, and manageability Is your code easy to change? Can you get nearly instantaneous feedback when you do change it? Do you understand it? If the answer to any of these questions is no, you have legacy code, and it is draining time and money away from your development efforts. In this book, Michael Feathers offers start-to-finish strategies for working more effectively with large, untested legacy code bases. This book draws on material Michael created for his renowned Object Mentor seminars: techniques Michael has used in mentoring to help hundreds of developers, technical managers, and testers bring their legacy systems under control. The topics covered include Understanding the mechanics of software change: adding features, fixing bugs, improving design, optimizing performance Getting legacy code into a test harness Writing tests that protect you against introducing new problems Techniques that can be used with any language or platform—with examples in Java, C++, C, and C# Accurately identifying where code changes need to be made Coping with legacy systems that aren't object-oriented Handling applications that don't seem to have any structure This book also includes a catalog of twenty-four dependency-breaking techniques that help you work with program elements in isolation and make safer changes.

C++ Core Guidelines Explained

C++ Core Guidelines Explained
Title C++ Core Guidelines Explained PDF eBook
Author Rainer Grimm
Publisher Addison-Wesley Professional
Total Pages 1147
Release 2022-03-25
Genre Computers
ISBN 0136875610

Download C++ Core Guidelines Explained Book in PDF, Epub and Kindle

Write More Elegant C++ Programs The official C++ Core Guidelines provide consistent best practices for writing outstanding modern C++ code and improving legacy code, but they're organized as a reference for looking up one specific point at a time, not as a tutorial for working developers. In C++ Core Guidelines Explained, expert C++ instructor Rainer Grimm has distilled them to their essence, removing esoterica, sharing new insights and context, and presenting well-tested examples from his own training courses. Grimm helps experienced C++ programmers use the Core Guidelines with any recent version of the language, from C++11 onward. Most of his code examples are written for C++17, with added coverage of newer versions and C++20 wherever appropriate, and references to the official C++ Core Guidelines online. Whether you're creating new software or improving legacy code, Grimm will help you get more value from the Core Guidelines' most useful rules, as you write code that's safer, clearer, more efficient, and easier to maintain. Apply the guidelines and underlying programming philosophy Correctly use interfaces, functions, classes, enum, resources, expressions, and statements Optimize performance, implement concurrency and parallelism, and handle errors Work effectively with constants, immutability, templates, generics, and metaprogramming Improve your C++ style, manage source files, and use the Standard Library "We are very pleased to see Rainer Grimm applying his teaching skills and industrial background to tackling the hard and necessary task of making the C++ Core Guidelines accessible to more people." --Bjarne Stroustrup and Herb Sutter, co-editors, C++ Core Guidelines Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.

A Tour of C++

A Tour of C++
Title A Tour of C++ PDF eBook
Author Bjarne Stroustrup
Publisher Addison-Wesley
Total Pages 192
Release 2013-09-16
Genre Computers
ISBN 0133549003

Download A Tour of C++ Book in PDF, Epub and Kindle

The C++11 standard allows programmers to express ideas more clearly, simply, and directly, and to write faster, more efficient code. Bjarne Stroustrup, the designer and original implementer of C++, thoroughly covers the details of this language and its use in his definitive reference, The C++ Programming Language, Fourth Edition. In A Tour of C++ , Stroustrup excerpts the overview chapters from that complete reference, expanding and enhancing them to give an experienced programmer–in just a few hours–a clear idea of what constitutes modern C++. In this concise, self-contained guide, Stroustrup covers most major language features and the major standard-library components–not, of course, in great depth, but to a level that gives programmers a meaningful overview of the language, some key examples, and practical help in getting started. Stroustrup presents the C++ features in the context of the programming styles they support, such as object-oriented and generic programming. His tour is remarkably comprehensive. Coverage begins with the basics, then ranges widely through more advanced topics, including many that are new in C++11, such as move semantics, uniform initialization, lambda expressions, improved containers, random numbers, and concurrency. The tour ends with a discussion of the design and evolution of C++ and the extensions added for C++11. This guide does not aim to teach you how to program (see Stroustrup’s Programming: Principles and Practice Using C++ for that); nor will it be the only resource you’ll need for C++ mastery (see Stroustrup’s The C++ Programming Language, Fourth Edition, for that). If, however, you are a C or C++ programmer wanting greater familiarity with the current C++ language, or a programmer versed in another language wishing to gain an accurate picture of the nature and benefits of modern C++, you can’t find a shorter or simpler introduction than this tour provides.