مدیریت خطا و ایمنی
کد C++ مقاوم بنویسید با مدیریت صحیح خطا — استثناها، تضمینهای ایمنی RAII، انواع مجموع، و الگوهای برنامهنویسی دفاعی.
استثناها و راهبردهای خطا
استثناها: throw، try، catch
درک سازوکار استثنای C++ — بازگشایی پشته (stack unwinding)، سلسلهمراتب استثناهای استاندارد، استثناهای سفارشی، و زمان ترجیح استثناها بر کدهای خطا.
تضمینهای ایمنی استثنا
سه سطح ایمنی استثنا را بیاموزید — پایه، قوی، و بدون پرتاب — و اینکه چگونه RAII و کپیوجابهجایی آنها را فراهم میکنند.
راهبردهای مدیریت خطا: انتخاب رویکرد مناسب
مقایسه استثناها، کدهای خطا، و std::expected — یاد بگیرید هر رویکرد چه زمانی مناسب است و چگونه خطاها را در سازندهها، مخربها و کد چندنخی مدیریت کنید.
ایمنی نوع و برنامهنویسی دفاعی
std::optional، std::variant و std::expected
از انواع مجموع C++17/23 برای نمایش مقادیر قابلتهی، اتحادیههای ایمن از نظر نوع، و بازگشت مقداریاخطا استفاده کنید — و دستههای کاملی از باگها را در زمان کامپایل حذف کنید.
ایمنی نوع، اظهارات و قراردادها
از سیستم نوع C++ برای جلوگیری از باگها در زمان کامپایل بهره ببرید — enumهای قوی، الگوی newtype، static_assert، اظهارات زمان اجرا، و ویژگی آینده قراردادها (contracts).
درک و اجتناب از رفتار تعریفنشده
بیاموزید رفتار تعریفنشده (UB) چیست، چرا وجود دارد، چگونه کامپایلرها از آن برای بهینهسازی بهرهبرداری میکنند، و چگونه آن را با ابزارهای بهداشتی (sanitizer) و هشدارهای کامپایلر تشخیص دهید.