C++ Coding Conventions and Guidelines
NEEDS SOME UPDATING FOR C++17.
Table of contents
- 0. Introduction
- 1. The big picture
- 2. Code formatting
- 3. Comments
- 4. Naming
- 5. Control structures
- 6. Classes
- 7. Functions
- 8. Variables
- 9. Constants/Literals
- 10. Enumerations
- 11. Error handling
- 12. Macros
- 13. Namespaces
- 14. Memory management
- 15. Casting
- 16. STL
- 17. Global state
- 18. File organization / Includes
- 19. Miscellaneous
- 20. Discouraged functionality
- 21. Compiler warnings
- 22. External libraries
License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
You are free to share and adapt these guidelines, as long as you provide attribution to this source and keep the same license. For more information, please consult the link above.
Maintainer: Michael Hofmann (kmhofmann at gmail.com)