# CPlusPlus: a Chinese-language C++ course turned into thirty-three notebooks

> The CPlusPlus repository turns a Chinese C++ video course into thirty-three Jupyter Notebook files, numbered in teaching order from comments and the main function through pointers, references, classes, templates and the STL. The code examples were written and run in Visual Studio 2019, and the notebooks are the notes rather than the programming environment.

**AccumulateMore/CPlusPlus** — ✅（已完结）超级全面的 C++ 笔记 【黑马程序员】

- Repository: https://github.com/AccumulateMore/CPlusPlus
- Stars: 744 · Forks: 180
- Language: Jupyter Notebook
- License: not declared
- Published: 2026-10-21 · Updated: 2026-10-21 · Language: en
- Canonical page: https://hysenlabs.com/projects/accumulatemore-cplusplus

## Thirty-three notebooks, numbered in the order the course teaches

The CPlusPlus repository is described in its own description as a finished, very wide-ranging set of C++ notes, and the structure of the repository is the clearest statement of what it contains: thirty-three Jupyter Notebook files numbered from 01 to 33, plus a README.

The filenames are the syllabus. The sequence starts with the C++ comments, then the main function and printing, then constants, variables, keywords, identifiers, data types, escape characters and data input. It moves into the operators and then the program flow structures, arrays and functions. The pointer chapter is number 15, followed by structs, the memory model and references. From there the object-oriented material runs through class encapsulation, calling other classes, class features, friend classes, operator overloading, inheritance and polymorphism. The last third covers file operations, templates, the STL, function objects, predicates, the built-in function objects and the common algorithms.

That ordering is a teaching decision rather than an arbitrary one, and it is the same order a beginner course would take. The pointer chapter before structs, then references, then classes, and the STL split into four chapters at the end, is the shape of a course that assumes you have never written the language before.

The primary language recorded for the repository is Jupyter Notebook, which tells you the medium. The notes are the artefact and the code examples are embedded in them, and the topic list names cplusplus, cplusplus-11, cpp and cpp11, so the course targets C++11 and the material is described as complete and finished.

The repository is not archived and the last push was on 2026-09-20, and there are no GitHub releases, so the notebooks are updated in place.

## The code was written in Visual Studio, the notebook is only the notes

One sentence in the project notes settles a confusion that anyone opening these files will otherwise have, and it is worth quoting because it is the kind of thing that gets assumed the wrong way.

The author states that the C++ code was run in VS2019, and that Jupyter Notebook is only the notes document.

That distinction matters in practice. A notebook cell containing a C++ snippet is not a compiled program in the notebook, it is an illustration with an explanation next to it. The reader who assumes the notebook runs the C++ will be disappointed, and the reader who knows it does not will use it the way the author intended, as a written course with worked examples rather than as a live REPL session.

It also explains the Jupyter choice. A notebook is a good container for a course because it interleaves prose, code and rendered output, and it lets the author show what a program prints without the reader having to compile anything to follow the explanation.

The video material is the other half. The project notes link a course video series on Bilibili, presented by the Heima Programmer training group, and the notes are described as accompanying that video:

```bash
1. https://www.bilibili.com/video/BV1et411b73Z?p=1
```

The p=1 parameter indicates a playlist, so the course is a sequence of parts rather than a single recording, which matches a thirty-three chapter course.

## Three viewing problems the author documents rather than hides

The project notes have a section of caveats, and they are practical enough to be useful before you start rather than after you get stuck.

The first is rendering on GitHub. When viewing the notes online, images or formulas sometimes display incompletely, and the author attributes this to GitHub not parsing the notebooks properly. The fix is to download the notes and read them locally, which is normal for anyone who has fought with a notebook renderer.

The second is PyCharm. Opening the notes in PyCharm's Jupyter Notebook does not display the images correctly, and the explanation is that the notes were authored with Anaconda's Jupyter Notebook. The author points readers to a separate Python repository of their own for how to open Jupyter Notebook files with Anaconda, and suggests a search for it if that is unfamiliar.

The third is navigation. Thirty-three separate notebook files are hard to move through linearly in a browser, and the recommendation is to install the Jupyter Notebook directory extension so you can jump to a chapter from a table of contents. The author links to how to install it and again points to their own Python repository for the details.

Taken together, these three caveats describe a specific working setup: Anaconda's Jupyter Notebook, the directory extension installed, and either a local copy or a browser tolerant of imperfect rendering. The notes themselves are free and open, and the caveats are the only friction.

One more thing the notes say is worth repeating for anyone who is new to C++: the author is explicit that the notes are open source, and asks for a star as support, with the reasoning that support is what keeps the work going.

## The rest of the repository is promotion, and you can read past it

A large part of the project notes is not about C++ at all, and any reader working through the repository will encounter it, so it is worth saying plainly what it is.

There is a study group section with QR codes for two deep learning discussion groups and a WeChat contact, and a note that the QR code entry method has failed because the group passed 200 people so entry is now by WeChat friend request. There is a table of request examples, ranging from paper tutoring and job hunting guidance to résumé review, internship help and commercial-grade project work, with claims about how quickly salary can rise. There is a section offering to help with job applications, naming a medical imaging company and its locations, and a large table of companies said to offer internal referral, from Alibaba, Tencent and Meituan through to Xiaomi, BYD and Tesla.

There are also several paragraphs about the author's own experience guiding students into jobs, and a closing line about reading as becoming a lamp carrier rather than blowing out others' candles.

None of this changes what the repository is. The notes are the artefact and they are complete by the author's own description, the topics are the C++ ones, and the file listing is entirely notebooks. The promotional material is an unfortunate amount of the README, and it is the kind of content that makes a reader wary, but the actual teaching material is unaffected by it.

The licence, by contrast, is a genuine open question. The repository licence is recorded as unknown, and there is no LICENSE file in the top-level listing. For a set of notes that people may want to reprint in a course or a book, that is a real question to ask the author rather than assume.

## What a learner gets and what a learner still needs

Setting aside the marketing, the value of this repository is specific: it is a Chinese-language C++ course organised into thirty-three ordered chapters, with the concepts the course covers listed in the filenames, and with each chapter written as a notebook that mixes explanation and example code.

The coverage implied by the filenames is a complete first course in the language. Comments and the entry point, the basic types and operators, control flow, arrays and functions, then pointers, structs and the memory model, which is the part most self-taught learners struggle with and where a chapter ordering that puts pointers before references is genuinely helpful. The object-oriented block covers encapsulation, composition, class features, friend declarations, operator overloading, inheritance and polymorphism, and the last chapters cover file operations, templates and the STL in four separate parts.

What it does not provide is the thing the README keeps implying elsewhere in the ecosystem around it, which is a job. The notes are a language course, and the project notes are careful to present the video and the notebooks as the course, with the group and referral material as separate things layered on top.

For a learner deciding whether to use it, the honest assessment is that it is a well-organised Chinese course with the practical caveats above, and that for anyone who reads Chinese and is starting C++ from zero, having thirty-three chapters in a fixed order with worked examples is worth a lot. For anyone who does not read Chinese, it is of no use at all, and the C++ ecosystem has many other places to look.

The notebook format is also a real constraint on how the material can be used. You cannot grep it well, you cannot diff it usefully, and the images and formulas are fragile in a browser. Those are the trade-offs of choosing a notebook instead of a set of markdown files, and they are the trade the author made on purpose.

## Conclusion

CPlusPlus is worth taking if you are learning C++ from Chinese-language material and want a course you can read with the code beside each explanation rather than a video you can only watch, because the notebook form means each concept comes with the code next to it and you can experiment. It is the wrong tool if you need an English reference, and it is the wrong tool if your Jupyter setup is PyCharm, because the author states the images do not render there. Before you rely on it, verify three things yourself: that you can open the notebooks with the Anaconda Jupyter Notebook rather than a bare Jupyter install, since the author says that is the environment the notes were authored in, that the table of contents extension is installed so you can navigate thirty-three files, and that you are comfortable with the format, because the author warns that GitHub sometimes fails to render the images and formulas and that downloading the notebooks for local viewing is the fix.

## FAQ

### What is the CPlusPlus repository?

It is a set of thirty-three Jupyter Notebook files forming a Chinese-language C++ course, covering the language from comments, the main function and data types through pointers, references, classes, templates and the STL. The project description marks the notes as finished and the topics name cplusplus, cplusplus-11, cpp and cpp11.

### How do I open the CPlusPlus notes?

The project notes say the notebooks were authored with Anaconda's Jupyter Notebook, and that opening them in PyCharm does not display images correctly. You also need the Jupyter Notebook directory extension to jump between chapters, and GitHub may not render images and formulas properly, in which case downloading the notes and viewing them locally fixes it.

### Do the notebooks compile and run the C++ code?

No. The author states that the C++ code was run in VS2019 and that Jupyter Notebook is only the notes document. The notebooks are written explanations with example code rather than a live C++ execution environment.

### What topics does the CPlusPlus course cover?

The notebook filenames list the order: comments, the main function, printing, constants, variables, keywords, identifiers, data types, escape characters, data input, operators, program flow structures, arrays, functions, pointers, structs, the memory model, references, object orientation, class encapsulation, calling other classes, class features, friend classes, operator overloading, inheritance, polymorphism, file operations, templates, the STL, function objects, predicates, built-in function objects and common algorithms.

### Is there a video version of the CPlusPlus course?

Yes. The project notes link a course video series on Bilibili presented by the author, and the notebooks are the accompanying notes for that series. The repository also points to a separate Python repository of the author's for instructions on opening Jupyter Notebook files with Anaconda and installing the directory extension.

## Sources

- [AccumulateMore/CPlusPlus on GitHub](https://github.com/AccumulateMore/CPlusPlus)
- [Issues](https://github.com/AccumulateMore/CPlusPlus/issues)
- [README](https://github.com/AccumulateMore/CPlusPlus/blob/main/README.md)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/accumulatemore-cplusplus
