Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Cover Page
About This eBook
Halftitle Page
Title Page
Copyright Page
Pearson’s Commitment to Diversity, Equity, and Inclusion
Contents
List of selected C++ Core Guidelines
List of figures
List of tables
Foreword
Preface
Conventions
Why guidelines?
Panta rhei
How to read this book
Acknowledgments
About the author
Part I: The Guidelines
Chapter 1. Introduction
Target readership
Aim
Non-aims
Enforcement
Structure
Major sections
Chapter 2. Philosophy
Chapter 3. Interfaces
The curse of non-const global variables
Dependency injection as a cure
Making good interfaces
Related rules
Chapter 4. Functions
Function definitions
Parameter passing: in and out
Parameter passing: ownership semantics
Value return semantics
Other functions
Related rules
Chapter 5. Classes and Class Hierarchies
Summary rules
Concrete types
Constructors, assignments, and destructors
Class hierarchies
Overloading and overloaded operators
Unions
Related rules
Chapter 6. Enumerations
General Rules
Related rules
Chapter 7. Resource Management
General rules
Allocation and deallocation
Smart pointers
Related rules
Chapter 8. Expressions and Statements
General
Declarations
Expressions
Statements
Arithmetic
Related rules
Chapter 9. Performance
Wrong optimizations
Wrong assumptions
Enable optimization
Related rules
Chapter 10. Concurrency
General guidelines
Concurrency
Parallelism
Message passing
Lock-free programming
Related rules
Chapter 11. Error Handling
Design
Implementation
If you can’t throw
Related rules
Chapter 12. Constants and Immutability
Use const
Use constexpr
Chapter 13. Templates and Generic Programming
Use
Interfaces
Definition
Hierarchies
Variadic templates
Metaprogramming
Other rules
Related rules
Chapter 14. C-Style Programming
Entire source code available
Entire source code not available
Chapter 15. Source Files
Interface and implementation files
Namespaces
Chapter 16. The Standard Library
Containers
Text
Input and output
Related rules
Part II: Supporting Sections
Chapter 17. Architectural Ideas
Chapter 18. Nonrules and Myths
Chapter 19. Profiles
Pro.typeType safety
Pro.boundsBounds safety
Pro.lifetimeLifetime safety
Chapter 20. Guidelines Support Library
Views
Ownership pointers
Assertions
Utilities
Part III: Appendixes
Appendix A. Enforcing the C++ Core Guidelines
Visual Studio
clang-tidy
Appendix B. Concepts
Appendix C. Contracts
Index
Code Snippets
← Prev
Back
Next →
← Prev
Back
Next →