| Beginner C Tutorial (Very basic, suitable for beginners) |
| Learn C Language in just one week (Monday) |
| Learn C Language in just one week (Tuesday) |
| Learn C Language in just one week (Wednesday) |
| Learn C Language in just one week (Thursday) |
| Learn C Language in just one week (Friday) |
| Learn C Language in just one week (Saturday) |
| Learn C Language in just one week (Sunday) Complete |

| Beginner C++ Tutorial |
| C++ Introduction |
| C++ Common Editor Installation Tutorial |
| C++ Basic Syntax |
| C++ Data Types |
| C++ Variable Types |
| C++ Variable Scope |
| C++ Constants |
| C++ Modifier Types |
| C++ Storage Classes |
| C++ Operators |
| C++ Loops |
| C++ Functions |
| C++ Mathematical Operations |
| C++ Arrays |
| C/C++ Strings |
| C++ Pointers |
| C++ References |
| C++ Date & Time |
| C++ Basic Input and Output |
| C++ Data Structures |
C++ Object-Oriented Programming |
| C++ Classes & Objects |
| C++ Inheritance |
| C++ Operator Overloading and Function Overloading |
| C++ Polymorphism |
| C++ Data Abstraction |
| C++ Data Encapsulation |
| C++ Interfaces (Abstract Classes) |
| Advanced C++ Tutorial |
| C++ Files and Streams |
| C++ Exception Handling |
| C++ Dynamic Memory |
| C++ Namespaces |
| C++ Templates |
| C++ Preprocessor |
| C++ Signal Handling |
| C++ Multithreading |
| C++ Web Programming |
| C++ STL Tutorial | C++ Standard Library | Useful C++ Resources |
| C++ Examples |
| C++ Cheat Sheet |
| C++ | Template Functions and Module Classes |
| C++ Programming Standards |
| C++ Language Programming Standards – Constants |
| C++ Language Programming Standards – Initialization and Type Conversion |
| C++ Programmer’s Notes |
| C++ Open Source Third-Party Libraries |
| Most Frequently Used C++ Libraries in the Industry |
| Boost C++ Library | What is it? |
| Boost C++ Library | Smart Pointers (RAII, Scoped Pointers, Scoped Arrays) |
| Boost C++ Library | Smart Pointers (Shared Pointers, Shared Arrays, Weak Pointers, Intrusive Pointers, Pointer Containers) Introduction |
| Boost C++ Library | Function Objects (C++ Interview Questions from Hundreds of Companies) |
| Boost C++ Library | Event Handling |
| Boost C++ Library | Multithreading |
| C++ Tips |
| C++ Programmer’s Notes |
| VS2022 C++ Dynamic Library Creation and Usage Guide |
|
C++ IDE Selection Guide |
| C vs C++ |
| Summary of New Features in Each Version of C++, A Must-Read for Programmers! |
| C++20 New Features |
| C++ Version Diff from 1985 to 2022 |
| C++ | Singleton Design Pattern (Lazy Singleton Pattern Source Code | Eager Singleton Pattern) |
| C++ Introduction (iFLYTEK Spark AI) |
The fastest way to learn a programming language is to first learn the basic syntax and then practice with various projects. I wish everyone success in their studies and a bright future.
Recommended mobile learning software: W3cschool, LeetCode, CSDN, etc.
Will continue to update… …

C++ Engineer Salaries
Specialization is key; choose your direction wisely and work hard towards it. Experience is money, and we must strive for self-improvement. A piece of advice for beginners: don’t learn too broadly, as it can lead to mental fatigue and a dislike for learning. Keep an eye on job postings from companies you aspire to work for and move towards your goals!!!



C++ Application Areas
1. Server-Side Development: Many backend server programs for games or internet companies are developed based on C++, and most of them run on Linux operating systems. Therefore, if you want to work in this area, you need to be familiar with Linux operating systems and development on them, as well as database development and network programming.
2. Games: Currently, many game clients are developed based on C++, except for some web games. This field requires learning a lot, such as computer graphics and multimedia processing.
3. Virtual Reality: This field has been continuously developing, and currently, VR glasses are quite popular, requiring a lot of C++ development.
4. Digital Image Processing: For example, system development for AutoCAD, visual recognition with OpenCV, etc.
5. Scientific Computing: In the field of scientific computing, FORTRAN is one of the most used languages. However, in recent years, C++ has also been widely used in this field due to its advanced numerical computation libraries and generic programming advantages.
6. Network Software: C++ has many mature libraries for network communication, the most representative being the cross-platform, heavyweight ACE library, which is one of the most important achievements of the C++ language and is used in many important enterprises, departments, and even the military. For example, Google’s Chrome browser is developed using C++.
7. Audio and Video Processing: C++ can be used for audio and video processing application development on mobile devices, such as audio synthesis, speech recognition, video playback, and video encoding.
8. Operating Systems:
-
Operating System Kernel: The operating system kernel is the core component of the operating system, responsible for managing and allocating hardware and software resources. C++ can be used to write low-level code for the operating system kernel, including task scheduling, memory management, file systems, and device drivers.
-
Multithreading and Synchronization: C++ provides multithreading support and synchronization mechanisms, which are very important for concurrent processing and inter-thread communication in operating systems. Operating systems need to be able to create and manage multiple threads and handle synchronization and communication between threads. C++’s multithreading and synchronization mechanisms, such as mutexes, condition variables, and atomic operations, can be used in operating system development.
-
System Libraries and APIs: Operating systems typically provide a set of system libraries and APIs for accessing and manipulating the operating system’s functions and resources. C++ can use these system libraries and APIs to implement various functions of the operating system, such as file operations, network communication, and process management.
-
Memory Management: Operating systems need to manage the allocation and release of system memory, including physical and virtual memory management. C++ can be used to write memory management algorithms and data structures, as well as to implement memory allocation and release.
-
Exception Handling: Operating systems need to be able to handle and manage various exceptions, such as hardware interrupts, error handling, and software exceptions. C++’s exception handling mechanism can be used for error handling and exception management in operating system development.
9. Device Drivers:
-
Device Interface: Device drivers communicate with hardware devices through device interfaces. The device interface is an abstraction layer that defines the communication protocol and data exchange method between the device and the operating system. C++ can use low-level device interfaces to implement communication with hardware devices.
-
Memory Mapping and IO Access: Device drivers need to directly access the registers and memory space of hardware devices. C++ provides low-level mechanisms such as pointers and references to directly read and write device registers and memory, and perform bit operations on hardware registers.
-
Interrupt Handling: Hardware devices may trigger interrupts, and device drivers need to implement interrupt handling functions to respond to interrupt events. C++ can handle hardware interrupts through interrupt handling functions and perform appropriate actions.
-
Device File System: In operating systems, device drivers are usually presented to applications in the form of device files. C++ can use the file system interfaces provided by the operating system to perform read and write operations on device files.
-
Concurrency and Synchronization: Device drivers often need to handle multiple simultaneous read and write requests. C++ provides multithreading and synchronization mechanisms to handle concurrent access to devices, such as using mutexes or semaphores for synchronization.
10. Mobile (Handheld) Devices:
-
Mobile Application Development: Although the main languages for mobile applications are Java (for Android) and Objective-C / Swift (for iOS), C++ plays an important role in mobile applications. C++ can be used to implement high-performance and low-level parts of applications, as well as for cross-platform portability.
11. Embedded Systems:
C++ plays an important role in embedded systems. Here are several main roles of C++ in embedded systems:
1. High-Level Abstraction: C++ is an object-oriented programming language that provides the ability for high-level abstraction, allowing programmers to use concepts such as objects, classes, and inheritance to organize and manage complex embedded systems. This can make the code easier to understand, maintain, and reuse.
2. Performance Optimization: C++ has low-level control capabilities close to C, allowing direct access to hardware and low-level operating system interfaces. This enables developers to perform fine-grained optimizations for high performance and real-time performance to meet the timing, latency, and resource utilization requirements of embedded systems.
3. Memory Management: C++ provides flexible memory management mechanisms, such as constructors and destructors, which can automatically manage the memory lifecycle of objects. This is very important for resource management in embedded systems, effectively managing memory and other resources to avoid memory leaks and resource exhaustion.
4. Development Efficiency: C++ has a rich standard library and third-party libraries that can provide various functions and tools to accelerate the development process of embedded systems. For example, the STL (Standard Template Library) provides many containers, algorithms, and iterators that can simplify the implementation of data structures and algorithms.
5. Cross-Platform Support: C++ is a widely used programming language that supports almost all hardware platforms and operating systems. This means that developers can use C++ to develop cross-platform embedded applications, allowing code reuse and implementation across different hardware platforms.
Famous Creations in C++
Here are some well-known text editors written in C++:
1. Vim: Vim is a highly customizable text editor widely used in Unix and Linux systems. It has powerful editing features and a command-line interface.
2. Emacs: Emacs is a powerful text editor that can run on multiple operating systems. It has a built-in Lisp interpreter that allows for custom functionality through plugins.
3. Sublime Text: Sublime Text is a cross-platform text editor known for its speed, stability, and flexibility. It supports plugin extensions and has many available themes and features.
4. Visual Studio Code: Visual Studio Code is a cross-platform code editor developed by Microsoft, built using C++ and the Electron framework. It has rich features and powerful code editing and debugging capabilities.
5. Code::Blocks: Code::Blocks is an open-source cross-platform integrated development environment primarily used for C++ development. It integrates an editor, compiler, and debugger, providing a user-friendly interface and rich plugins.
6. Qt Creator: Qt Creator is an integrated development environment for developing Qt applications, written in C++. It has features for code editing, debugging, GUI design, and build tools.
Here are some well-known games developed in C++ in China:
1. League of Legends: A multiplayer online battle arena game developed by Riot Games, very popular.
2. CrossFire: A first-person shooter game developed by Smilegate under Tencent Games, one of the most popular games in China.
3. Fantasy Westward Journey Online: A massively multiplayer online role-playing game (MMORPG) developed by NetEase, very popular in China.
4. World of Warcraft: A massively multiplayer online role-playing game (MMORPG) developed by Blizzard Entertainment, also very popular in China.
5. 逆水寒 (Nishuihan): A role-playing game developed by Tencent Games, set in ancient China, written in C++.
6. Peacekeeper Elite: A first-person shooter game developed by Tencent Games’ subsidiary, a Chinese version of PUBG.
7. Dungeon & Fighter: A 2D side-scrolling fighting game developed by Neople under Tencent Games, one of the most popular games in China.
These are all well-known games developed using C++ in China, achieving great success in the domestic gaming market.