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.
Nguyên tắc cơ bản về mẫu
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 đề.
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
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.
Variadic Templates & Fold Expressions
Handle any number of template arguments with parameter packs. Master fold expressions for elegant, recursive-free pack processing.
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
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.
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.
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.