الذاكرة والموارد
نموذج ملكية Master C++ - بدءًا من المؤشرات الأولية وحتى المؤشرات الذكية وتحريك الدلالات - لكتابة تعليمات برمجية لا تتسرب أبدًا.
المؤشرات والمراجع
المؤشرات: العناوين وإلغاء الإشارة والحساب
فهم المؤشرات كعناوين للذاكرة، وتعلم عوامل العنوان وإلغاء الإشارة، وحساب المؤشر داخل المصفوفات، وصحة الثبات مع المؤشرات، ومتى تظل المؤشرات الأولية مناسبة في C++ الحديثة.
المراجع: Lvalue، Rvalue والمزالق
استكشف مراجع lvalue وrvalue، وافهم فئات قيم C++، وتعلم قواعد طي المراجع وإعادة توجيه المراجع، وتجنب الأخطاء المرجعية المتدلية.
الذاكرة الديناميكية: الجديدة والحذف ومخاطرها
تعرف على كيفية عمل التخصيص الديناميكي مع الجديد والحذف، وافهم مخاطر تسرب الذاكرة، والاستخدام المزدوج، والاستخدام بعد الاستخدام مجانًا، واكتشف لماذا يجب أن يحتوي C++ الحديث على صفر جديد/حذف أولي.
المؤشرات الذكية
std::unique_ptr: ملكية حصرية
تعرف على كيفية توفير std::unique_ptr للملكية الحصرية بدون أي حمل، وكيفية استخدام make_unique، وأدوات الحذف المخصصة لموارد C، وأنماط وظائف المصنع.
shared_ptr, weak_ptr & Ownership Graphs
افهم الملكية المشتركة المُعدة حسب المرجع باستخدام Shared_ptr، وقم بفصل الدورات باستخدام Weak_ptr، وتعرف على كتل التحكم والاسم المستعار، واعرف متى يكون Shared_ptr هو الاختيار الخاطئ.
نقل الدلالات وRAII
Move Semantics & std::move
Understand the problem move semantics solves, how std::move is a cast (not a move), implement move constructors and move assignment, and learn why noexcept is critical for container performance.
إعادة توجيه مثالية و std::forward
افهم سبب اعتبار مراجع rvalue المُسماة قيمًا، وتعرف على نمط إعادة التوجيه الأساسي باستخدام std::forward، وانظر كيف يستخدم emplace_back إعادة التوجيه المتغير لإنشاء كائنات في مكانها.
RAII: نمط الموارد الأساسية
تعرف على RAII (الحصول على الموارد هو التهيئة) - نمط C++ الأساسي لإدارة الموارد الآمنة للاستثناء. قم بتطبيق أغلفة RAII، وفهم lock_guard وscoped_lock، وتعرف على سبب ضرورة نقل أنواع RAII فقط أو إحصاء المرجع.