انتقل إلى المحتوى
الوحدة 4

القوالب والبرمجة العامة

اكتب تجريدات عامة وقابلة لإعادة الاستخدام وخالية من النفقات العامة باستخدام القوالب والمفاهيم وبرمجة وقت الترجمة.

أساسيات القالب

  1. قوالب الوظائف وخصم النوع

    تعلم كيفية كتابة الوظائف التي تعمل مع أي نوع. فهم استنتاج وسيطة القالب، والمعلمات غير النوعية، وسبب وجود القوالب في الرؤوس.

  2. قوالب الفصل وCTAD

    إنشاء هياكل بيانات عامة باستخدام قوالب الفصل الدراسي. فهم تعريفات الأعضاء والوسائط الافتراضية وكيف يتيح لك CTAD الخاص بـ C++17 حذف وسائط القالب.

قوالب متقدمة

  1. تخصص القالب وإرسال العلامات

    إتقان التخصص الكامل والجزئي، وتعلم متى تفضل التحميل الزائد، واكتشف إرسال العلامات و if constexpr كبدائل للتفرع في وقت الترجمة.

  2. قوالب متنوعة وتعبيرات أضعاف

    تعامل مع أي عدد من وسيطات القالب باستخدام حزم المعلمات. تعبيرات الطي الرئيسية لمعالجة العبوات الأنيقة والخالية من التكرار.

  3. SFINAE، سمات النوع وenable_if

    فهم مبدأ فشل الاستبدال ليس خطأً، واستخدام سمات الكتابة للاستبطان في وقت الترجمة، وتقييد القوالب باستخدام Enable_if.

البرمجة العامة الحديثة

  1. C++20 المفاهيم والقيود

    تحديد المتطلبات الدقيقة لوسائط القالب باستخدام المفاهيم. اكتب تعليمات برمجية عامة أكثر وضوحًا باستخدام العبارات المطلوبة وقوالب الوظائف المختصرة ومفاهيم المكتبة القياسية.

  2. constexpr وconsteval وبرمجة وقت الترجمة

    انقل الحساب من وقت التشغيل إلى وقت التجميع باستخدام constexpr وconsteval وconstinit. إنشاء جداول البحث والتحقق من صحة التكوينات واستخدام حاويات constexpr.

  3. أنماط البرمجة الفوقية للقالب

    إتقان أنماط القوالب المتقدمة: CRTP لتعدد الأشكال الثابت، والتصميم القائم على السياسة للتكوين المرن، ومحو الكتابة للأدوية العامة في وقت التشغيل، وإرشادات حول متى يتم استخدام القوالب مقابل الإرسال الافتراضي.