CppCoreGuidelines-zh-CN: the Chinese translation of the C++ Core Guidelines
Translation of C++ Core Guidelines [https://github.com/isocpp/CppCoreGuidelines] into Simplified Chinese.
At a glance
- What is it?
- A Simplified Chinese rendering of the C++ Core Guidelines, kept as one GitHub-flavored Markdown file with a browsable HTML build. It is a document, not a library, and its value depends on whether you read Chinese faster than English.
- Who is it for?
- Adopt it if your team reads Simplified Chinese more comfortably than English and you want the C++ Core Guidelines as a single reviewable Markdown file rather than a website. Do not adopt it expecting a translation service, a tool, or a versioned release: there are no releases, and the browsable build is described as manually integrated and can lag behind master.
- Can I use it commercially?
- Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
- Is it still maintained?
- Activity is slowing. The repository last received commits 6 months ago.
- What is it written in?
- GitHub does not report a main language for this repository.
Answers come from the project's GitHub data, last synced on September 24, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What the Chinese translation of the C++ Core Guidelines actually is
The repository holds a translation of the C++ Core Guidelines into Simplified Chinese. The README states that the guidelines themselves, like the C++ language, are a collaborative project led by Bjarne Stroustrup, and that they are the product of many person-years of discussion and design across organizations. The translation does not change that scope. It is the same body of advice about interfaces, resource management, memory management and concurrency, rendered in Chinese.
The intended reader is a C++ developer who works in Chinese. The README makes the case for the guidelines generally: the rules aim at relatively high-level concerns, they are meant to be supported by analysis tools, and violations can be flagged with a reference or link back to the relevant rule. It also notes that some rules will look obvious or even worthless, and answers that directly: one purpose of a guideline is to help people who are less experienced, or who come from another background or another language, get moving quickly. A translation extends exactly that argument to readers who would otherwise be slowed down by the English text.
There is no compiled artifact, no package, and no service here. The deliverable is a document.
One Markdown file, one HTML build, and why that matters
The repository layout is small: CONTRIBUTING.md, CppCoreGuidelines-zh-CN.md, LICENSE, README.md, a logo PNG, and an images directory. The guidelines live in that single CppCoreGuidelines-zh-CN.md file, in GitHub-flavored Markdown.
The README is explicit about why the document is kept simple and, in the English original, basically ASCII: it makes automated post-processing easier, and it names language translation and format conversion as the examples. That is a design decision worth understanding, because it explains the shape of the project. A plain Markdown file is diffable, greppable, and easy to feed into a converter. It is also easy to fork and edit for your own organization, which the README says you are free to do.
The trade-off is that a single large Markdown file is not a pleasant reading experience on its own. The maintainers address this with a browsable version hosted on GitHub Pages. The README warns that this version is integrated by hand and may therefore lag slightly behind the master branch. That is a real constraint, not a caveat to skim past: if you read the HTML build, you may be reading an older revision than the file in the repository. If you need the current text, read the Markdown.
Getting the document and reading it locally
There is no install step, because there is nothing to install. The README points to CppCoreGuidelines-zh-CN.md as the content, and to the GitHub Pages build for browsing. Cloning the repository gives you the Markdown source and the images it references, which is what you want if you intend to convert or search it.
The README does not give a clone command, so the example below is the ordinary git invocation for the repository URL the README links to. After cloning, the guidelines are in CppCoreGuidelines-zh-CN.md. Because the project keeps the text as plain Markdown, you can search it with ordinary tools. This is the practical reason to clone rather than read the hosted page: you can grep for a rule identifier or a keyword across the whole document.
The README notes that many of the guidelines use the header-only Guidelines Support Library, and that one implementation is Microsoft's GSL, so a search for GSL is a reasonable first probe of whether the sections you care about have been translated.
The versioning gap: no releases and a hand-integrated site
The README states plainly that the guidelines are a continuously evolving document and have no strict release cadence. Bjarne Stroustrup reviews the document periodically and increments the version number in the introduction, and those version-incrementing check-ins are tagged in git. That tagging happens in the upstream English repository, not here.
For a translation, this is the central maintenance problem. A translation tracks a moving source. When the upstream text changes, the Chinese text is either updated or it drifts. The repository has no releases, so there is no version of the Chinese document you can pin to and say this corresponds to that upstream revision. The browsable build adds a second layer of lag, because the README describes it as manually integrated. If you are trying to answer the question "which revision of the guidelines am I reading", the README does not say.
This is a structural limitation, not a criticism of the maintainers. It is what a volunteer translation of an unversioned living document looks like. Plan accordingly: treat the translation as a reading aid and cross-check anything you intend to enforce in a code review against the English original.
C++ Core Guidelines Explained and other ways to get the same advice
The obvious alternative is the English original at isocpp.github.io/CppCoreGuidelines, which the README links. The difference in approach is not just language. The English project is the source of truth: it is where the version number in the introduction is incremented, where the tagged check-ins live, and where the browsable build is generated from the same repository that holds the text. The Chinese repository is a downstream copy of that text. If you read English comfortably, there is no reason to route through the translation, and you avoid the lag entirely.
A second alternative is the printed and ebook material that explains the guidelines rather than restating them. That is a different product with a different purpose: it interprets the rules instead of translating them. If your goal is to understand why a rule exists, an explanatory book may serve you better than either the English or the Chinese repository. If your goal is to have the rule text itself in Chinese, the translation is the direct answer and a book is not.
A third option, and the one that fits some teams best, is to fork this repository and edit it. The README explicitly invites copying and modification to suit your organization's needs. Because the content is one Markdown file, a team can trim the rules it will not enforce, add internal examples, and keep the result in its own repository. That is more work than reading, but it produces something a team can actually review against.
Licence and the cost of keeping a translation alive
The repository ships a LICENSE file, and the README points to it along with CONTRIBUTING.md for details. The licence identifier reported for the repository is NOASSERTION, which means the licence could not be identified automatically from the repository metadata. That is a fact about the tooling, not a statement about the terms. Read LICENSE and CONTRIBUTING.md yourself before you redistribute the text or fold it into an internal standard. This is not legal advice, and the README does not spell out what the terms permit.
On upgrade cost: there is nothing to upgrade in the software sense. There is no dependency to bump and no release to move between. The recurring cost is editorial. Someone has to notice that the upstream English document changed, decide whether the change matters for your team, and update the Chinese text if it does. Because the project has no release cadence and the browsable build is hand-integrated, that work is not something you can schedule off a changelog. If nobody owns it, the translation silently falls behind, and the only symptom is that a rule you cite no longer matches the English original.
Editorial conclusion
Adopt it if your team reads Simplified Chinese more comfortably than English and you want the C++ Core Guidelines as a single reviewable Markdown file rather than a website. Do not adopt it expecting a translation service, a tool, or a versioned release: there are no releases, and the browsable build is described as manually integrated and can lag behind master. Before relying on it, open CppCoreGuidelines-zh-CN.md and confirm that the specific rule you care about has been translated and that its rule identifier still matches the English original, because the translation is a moving document without a release tag to pin against.
Frequently asked questions
What are the C++ Core Guidelines?
They are a collaborative set of guidelines for using modern C++, meaning C++11 and later, led by Bjarne Stroustrup. This repository is their translation into Simplified Chinese, and the README describes the guidelines as the product of many person-years of discussion and design across organizations.
What are some best practices for coding in C++?
The guidelines focus on relatively high-level concerns such as interfaces, resource management, memory management and concurrency, and the README says following them yields statically type-safe code with no resource leaks. It also notes the rules are designed to be supported by analysis tools, so violations can be flagged with a link to the relevant rule.
Can I get CppCoreGuidelines-zh-CN as a PDF?
The repository does not ship a PDF. The README points to CppCoreGuidelines-zh-CN.md as the content and to a browsable GitHub Pages version, and it says the document is kept simple to make automated post-processing such as format conversion easier, so converting the Markdown yourself is the documented path.
Does CppCoreGuidelines-zh-CN have a version number I can pin to?
No. The README states the guidelines have no strict release cadence, and version increments happen in the upstream English project, where the version-incrementing check-ins are tagged in git. The repository has no releases, so there is no Chinese release to pin.
Why does the browsable CppCoreGuidelines-zh-CN page differ from the repository file?
The README says the browsable version is integrated by hand and may therefore lag slightly behind the master branch. If you need the current text, read CppCoreGuidelines-zh-CN.md in the repository rather than the hosted page.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/lynnboy-cppcoreguidelines-zh-cn)