Important C++ Idioms
Resource Management
- RAII (Resource Acquisition Is Initialization)
- Smart Pointers
Code Optimization
- Copy-and-Swap
- Curiously Recurring Template Pattern (CRTP)
- SFINAE (Substitution Failure Is Not An Error)
- Pimpl (Pointer to Implementation)
- Type Erasure
Code Safety
- Scoped Locking
- Non-Virtual Interface (NVI)
- Empty Base Optimization (EBO)
Code Clarity
- Named Constructor Idiom
- Function Object (Functor)
- Lambda Expressions
Concurrency Idioms