A minimal collection of most wanted and widely accepted idioms and coding conventions for C++ development presented with examples and comments. The lecture targets performance oriented codes so emphasis is on performance-friendly techiques.
Topics covered:
1. Design issues: idioms and best practices
- Resource Aquisition Is Initialization (RAII)
- Ownership semantics and smart pointers
- Header files: dependencies and decoupling
2. Objects Construction/Destruction/Copying
- Designing constructors
- Rule Of Three
- Transactional programming
3. Namespaces
- ADL/Koenig Lookup
4. Static analyzers survey