Chuyển đến nội dung
Module 3

Memory & Resources

Master C++'s ownership model — from raw pointers through smart pointers and move semantics — to write code that never leaks.

Bắt đầu học9 bài học

Pointers & References

  1. Pointers: Addresses, Dereferencing & Arithmetic

    Understand pointers as memory addresses, learn address-of and dereference operators, pointer arithmetic within arrays, const correctness with pointers, and when raw pointers are still appropriate in modern C++.

  2. References: Lvalue, Rvalue & Pitfalls

    Explore lvalue and rvalue references, understand C++ value categories, learn reference collapsing rules and forwarding references, and avoid dangling reference bugs.

  3. Bộ nhớ động: mới, xóa & Mối nguy hiểm của chúng

    Tìm hiểu cách phân bổ động hoạt động với tính năng mới và xóa, hiểu sự nguy hiểm của rò rỉ bộ nhớ, trống kép và không sử dụng sau này, đồng thời khám phá lý do C++ hiện đại không chứa dữ liệu mới/xóa thô.

Con trỏ thông minh

  1. std::unique_ptr: Quyền sở hữu độc quyền

    Tìm hiểu cách std::unique_ptr cung cấp quyền sở hữu độc quyền bằng 0, cách sử dụng make_unique, công cụ xóa tùy chỉnh cho tài nguyên C và các mẫu chức năng gốc.

  2. Đồ thị chia sẻ_ptr, yếu_ptr & Quyền sở hữu

    Hiểu quyền sở hữu được chia sẻ được tính theo tham chiếu với Shared_ptr, ngắt chu kỳ với Weak_ptr, tìm hiểu về các khối điều khiển và bí danh cũng như biết khi nào Shared_ptr là lựa chọn sai.

Di chuyển ngữ nghĩa & RAII

  1. Di chuyển Ngữ nghĩa & std::move

    Hiểu ngữ nghĩa di chuyển giải quyết vấn đề, cách std::move là một phép truyền (không phải là một phép di chuyển), triển khai các hàm tạo di chuyển và gán di chuyển, đồng thời tìm hiểu lý do tại sao noException lại quan trọng đối với hiệu suất vùng chứa.

  2. Chuyển tiếp hoàn hảo & std::forward

    Hiểu lý do tại sao các tham chiếu giá trị được đặt tên là giá trị, tìm hiểu mẫu chuyển tiếp chuẩn với std::forward và xem cách emplace_back sử dụng chuyển tiếp biến đổi để xây dựng các đối tượng tại chỗ.

  3. RAII: Mẫu tài nguyên cơ bản

    Tìm hiểu RAII (Thu thập tài nguyên là khởi tạo) - mẫu C++ cốt lõi để quản lý tài nguyên an toàn ngoại lệ. Triển khai trình bao bọc RAII, hiểu lock_guard vàscoped_lock, đồng thời tìm hiểu lý do tại sao các loại RAII phải ở chế độ chỉ di chuyển hoặc được tính lại.

Bộ nhớ nâng cao

  1. Bố cục bộ nhớ, căn chỉnh và biểu diễn đối tượng

    Hiểu các yêu cầu về khoảng đệm và căn chỉnh cấu trúc, tối ưu hóa thứ tự thành viên theo kích thước, tìm hiểu về các dòng bộ đệm và chia sẻ sai, đồng thời sử dụng các tính năng C++20 như [[no_unique_address]] cho bố cục thu gọn.