The C++ Core Guidelines is a living set of best-practice recommendations for writing modern, safe, and maintainable C++. Authored and curated by leaders in the C++ community, it organizes guidance into rules on type and resource safety, interfaces, performance, error handling, concurrency, and library design. Each rule is rationale-driven, showing the “why” behind recommendations and linking to examples that illustrate good and bad patterns. The guidelines encourage use of modern language features—RAII, smart pointers, move semantics, ranges, and constexpr—while steering developers away from brittle idioms and unsafe constructs. Enforcement is a central theme: many rules are designed to be checkable by static analysis tools and linters so teams can automate compliance. As a community artifact, it evolves with the language standard, offering a practical compass for teams upgrading legacy code or establishing standards for greenfield projects.
Features
- Covers modern C++ (C++11 through C++20) usage patterns and best practices
- Emphasizes safety, simplicity, and performance
- Encourages use of a guideline support library (GSL) for safer abstractions
- Structured to support tool enforcement and automated analysis of code
- Designed for gradual adoption, allowing subsets (profiles) of rules to be used incrementally
- Continuously updated through community contributions and expert review (as of July 8, 2025)