Back to BlogQuay lại Blog
C++ Programming

Modern C++ Programming Series: Roadmap & Curriculum

Lộ trình Tự học lập trình Modern C++ từ con số 0

A complete guide from environment setup to OOP, memory management, and templates. Lộ trình toàn diện từ thiết lập, hướng đối tượng OOP, quản lý bộ nhớ thông minh, đến mô phỏng trực quan.

This C++ programming guide is currently only available in Vietnamese. Please toggle the language switch (🇻🇳) in the top navigation to read the roadmap.

Welcome to our C++ self-study series. This course is designed to transition you from C to modern C++ concepts, including templates, OOP, smart pointers, and high-performance applications like Google's V8 engine.

Chào mừng bạn đến với chuỗi bài học tự học lập trình C++ Hiện đại (Modern C++). C++ là một ngôn ngữ lập trình hiệu năng cực cao, kế thừa từ C nhưng được trang bị thêm các mô hình lập trình mạnh mẽ như lập trình hướng đối tượng (OOP) và lập trình tổng quát (Templates). C++ là ngôn ngữ đứng sau những hệ thống phần mềm lớn nhất thế giới, bao gồm các hệ điều hành, các game engine đồ họa nặng, và đặc biệt là Google V8 JavaScript Engine - bộ não giúp trình duyệt Chrome biên dịch và thực thi JavaScript với tốc độ ánh sáng.

Dưới đây là lộ trình 14 bài học được thiết kế chi tiết nhằm giúp bạn từng bước làm chủ C++ một cách thực tế, từ cơ bản đến chuyên nghiệp:

01

Bài 1: Thiết lập môi trường lập trình Modern C++

Cài đặt compiler, package managers, CMake, compiler flags, Makefile. Viết chương trình C++ đầu tiên với giải thích chi tiết từng bước.

02

Bài 2: Nền tảng C++: Namespace, Auto, Const & I/O

Nắm vững namespace, từ khóa auto, const correctness, iostream basics, type casting. Điều chỉnh để viết code an toàn và sạch sẽ.

03

Bài 3: STL Cơ bản: std::string & std::vector

Làm quen cấu trúc dữ liệu STL mạnh mẽ. SSO (Small String Optimization), vector capacity, move semantics, vector algorithms và safe erase patterns.

04

Bài 4: STL Containers: deque, list, map, set

Khám phá sequence vs associative containers. std::deque double-ended, std::list linked list, std::map/unordered_map key-value, std::set/unordered_set unique elements.

05

Bài 5: OOP Cơ bản: Class, Constructor, RAII & Operator Overloading

Thiết kế Class, Object, Constructor/Destructor, RAII principle. Static members, const methods, operator overloading, member initialization list.

06

Bài 6: OOP Nâng cao: Kế thừa, Đa hình & RTTI

Làm chủ tính kế thừa, virtual functions, VTable. Pure virtual functions, abstract classes, virtual destructor, RTTI (typeid, dynamic_cast), access control.

07

Bài 7: Move Semantics & RValue References

Lvalue vs Rvalue, RValue references (&&), move constructor, std::move() & std::forward(), Return Value Optimization (RVO), benchmark copy vs move performance.

08

Bài 8: Smart Pointers & Quản lý bộ nhớ

std::unique_ptr, std::shared_ptr, std::weak_ptr. Custom deleters, circular references, exception safety, RAII error handling, migration từ raw pointers.

09

Bài 9: Iterators & Range-based Loops

Iterator categories (Input/Output/Forward/Bidirectional/RandomAccess). Iterator invalidation, range-based loops, std::advance/distance, iterator adapters, custom iterators.

10

Bài 10: Templates & Lập trình Generic

Function/Class templates, template specialization, SFINAE, variadic templates, Concepts (C++20). Template metaprogramming, compile-time computation.

11

Bài 11: Exception Handling & Error Management

Try-catch-throw, exception hierarchies, custom exceptions. Exception safety guarantees (No-Throw, Strong, Basic), stack unwinding, RAII error handling, best practices.

12

Bài 12: Modern C++ Features (C++11/14/17/20)

Lambda expressions, structured binding, std::optional/variant/any. Attributes, operator spaceship, default comparisons, Modules (C++20 preview).

13

Bài 13: STL Algorithms & Functional Programming

Searching/sorting (find, sort, binary_search), transformations (transform, copy, remove). Numeric algorithms (accumulate, iota). Custom comparators, predicates, algorithm composition.

14

Bài 14: Capstone Project — BST Visualizer & Advanced Data Structures

Tổng hợp toàn bộ kiến thức: BST, AVL trees, design patterns (Observer, Strategy, MVC). Interactive visualizer, Red-Black trees, B-trees, real-world applications.