← All open source projects

C++ Core Guidelines

isocpp/CppCoreGuidelines

C++ Core Guidelines is a collaborative set of rules and recommendations for simpler, safer, modern C++, led by Bjarne Stroustrup.

Forks 5,550
Author isocpp
Language CSS
License Unknown
Synced 2026-06-27

What it is

C++ Core Guidelines is a collaborative set of rules, recommendations, and practices for C++.

The project is led by Bjarne Stroustrup and grew from years of discussion and design across multiple organizations.

The guidelines’ main task is to help people write simpler, safer, modern C++ without trying to replace the language itself.

What is inside the repository

The repository contains getting started, background and scope, contributions and license, while the guidelines themselves live in CppCoreGuidelines.md.

The document is intentionally kept in GitHub-flavored Markdown and simple ASCII so it can be processed, translated, and reformatted automatically.

How people usually use it

C++ Core Guidelines are used by developers, code reviewers, teachers, static-analysis tool authors, and teams formalizing C++ style.

A normal scenario is to read topic sections, choose applicable rules, enable checks in инструменты, and discuss exceptions during code review.

A guideline as a checkable rule

This fragment shows the mindset: a rule states intent, and code illustrates a safer style.

Language: Plain text
Use RAII for resource ownership.
Prefer scoped objects to manual new/delete.
Make ownership visible in types.

What it feels like in practice

The project’s strength is authority and breadth. This is not a personal style guide, but the result of a large professional discussion about C++.

Another advantage is practical focus: rules connect to safety, ownership, types, errors, and readability.

Limits and careful spots

The limitation is that guidelines do not apply automatically. A team must decide which rules to enable, how to check them, and how to handle legacy code.

C++ code also often lives across different language standards, so rules need adaptation to compiler version and domain.

Who it fits

C++ Core Guidelines best fit teams that want to improve C++ systematically rather than through random review comments.

In the catalog, the project matters as a documentation repository that affects code quality through rules rather than a library.

For real value, the guidelines should be connected to linters, training, and review practice; otherwise the document remains a good link that people rarely open.

For C++, this repository is also important as a way for a team to agree on the language. The same syntax can produce safe modern code or old code with manual resource management and hidden errors. The guidelines move discussion from taste into rules: memory ownership, exceptions, interface boundaries, types, and invariants. But rules only work when a team connects them to review, static analysis, and onboarding of new members.