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

Mẫu & Lập trình chung

Viết các phần tóm tắt thực sự chung chung, có thể tái sử dụng, không tốn chi phí bằng cách sử dụng các mẫu, khái niệm và lập trình thời gian biên dịch.

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

Nguyên tắc cơ bản về mẫu

  1. Mẫu hàm & Khấu trừ kiểu

    Tìm hiểu cách viết các hàm hoạt động với bất kỳ loại nào. Hiểu cách suy luận đối số mẫu, tham số không phải loại và lý do mẫu nằm trong tiêu đề.

  2. Mẫu lớp & CTAD

    Xây dựng cấu trúc dữ liệu chung với các mẫu lớp. Hiểu định nghĩa thành viên, đối số mặc định và cách CTAD của C++17 cho phép bạn bỏ qua đối số mẫu.

Mẫu nâng cao

  1. Chuyên môn hóa mẫu & Gửi thẻ

    Nắm vững chuyên môn đầy đủ và một phần, tìm hiểu khi nào nên ưu tiên quá tải và khám phá việc gửi thẻ và if constexpr làm lựa chọn thay thế cho phân nhánh thời gian biên dịch.

  2. Variadic Templates & Fold Expressions

    Handle any number of template arguments with parameter packs. Master fold expressions for elegant, recursive-free pack processing.

  3. SFINAE, Loại Đặc điểm & kích hoạt_if

    Hiểu nguyên tắc Lỗi thay thế không phải là lỗi, sử dụng các đặc điểm loại để xem xét nội tâm trong thời gian biên dịch và hạn chế các mẫu bằng Enable_if.

Lập trình chung hiện đại

  1. C++20 Khái niệm & ràng buộc

    Xác định các yêu cầu chính xác về đối số mẫu bằng cách sử dụng các khái niệm. Viết mã chung rõ ràng hơn với các mệnh đề yêu cầu, mẫu hàm viết tắt và các khái niệm thư viện tiêu chuẩn.

  2. constexpr, consteval & Lập trình thời gian biên dịch

    Di chuyển tính toán từ thời gian chạy sang thời gian biên dịch bằng cách sử dụng constexpr, consteval và constinit. Xây dựng bảng tra cứu, xác thực cấu hình và sử dụng vùng chứa constexpr.

  3. Mẫu siêu lập trình mẫu

    Nắm vững các mẫu mẫu nâng cao: CRTP dành cho tính đa hình tĩnh, thiết kế dựa trên chính sách để có thành phần linh hoạt, xóa kiểu cho các mẫu chung trong thời gian chạy và hướng dẫn về thời điểm sử dụng mẫu so với công văn ảo.