لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش اجتناب از اشکالات ضمنی در C++
Avoiding Implicit Bugs in C++
نکته:
آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره:
C++ یک زبان برنامه نویسی بسیار قدرتمند، قابل حمل و مقرون به صرفه است. اما همچنین مملو از معناشناسی ضمنی و ضد شهودی است که می تواند اشکالات را به برنامه شما وارد کند. در این دوره، به مدرس شاچار شمش بپیوندید تا مهارت های اساسی را که به عنوان یک توسعه دهنده برای جلوگیری از اشکالات ضمنی در C++ باید بدانید، بیاموزید.
رفتارهای ایجاد اشکال در دنیای واقعی مانند سازندههای کپی تولید شده خودکار و عملگرهای تخصیص کپی، زنجیرههای ریختهگری با پخشهای داخلی و تعریفشده توسط کاربر، رفتارهای تعریفنشده، معنایی استثنایی و تخریبکنندهها را کاوش کنید. در طول مسیر، Shachar آگاهی کلی شما را از بهترین شیوه ها برای شناسایی، اجتناب، استراتژی، کنترل و محافظت از کار شما در برابر اشکالات ضمنی افزایش می دهد.
سرفصل ها و درس ها
معرفی
Introduction
اشکالات ضمنی در C++ (در حال انجام)
Implicit bugs in C++
(In progress)
ساختار دوره
Course structure
1. کپی ضمنی
1. Implicit Copying
کلاس FD
The FD class
شما یک اشکال دارید
You have a bug
مکان یابی اشکال
Locating the bug
کاوش سازنده کپی ضمنی
Exploring the implicit copy constructor
پیاده سازی کپی ضمنی
Implementing implicit copy
غیرفعال کردن کپی ضمنی
Disabling implicit copying
معناشناسی حرکت
Move semantics
اپراتورهای تخصیص و کپی و تعویض
Assignment operators and copy-and-swap
2. بازیگران ضمنی
2. Implicit Casts
مشکل 1: فقط یک بار چاپ می شود
Problem 1: Only prints once
سازندگان به عنوان بازیگران ضمنی
Constructors as implicit casts
کلمه کلیدی صریح
The explicit keyword
مشکل 2: توصیف کننده فایل خراب است؟
Problem 2: Corrupt file descriptor?
صریح برای بازیگران
Explicit for casts
3. رفتار تعریف نشده
3. Undefined Behavior
ارزیابی ترتیب پارامترها
Parameters order evaluation
اجرای رفتارهای تعریف شده، نامشخص و نامشخص
Implementation of defined, unspecified, and undefined behavior
عدم ارجاع نشانگر تهی
Null pointer dereference
مثال در حال ساختن نشانگر تهی
Deconstructing null pointer example
چرا UB ها چیز خوبی هستند (یا نه)
Why UBs are a good thing (or not)
4. استثناها و تخریب کنندگان
4. Exceptions and Destructors
خطر پرتاب ویرانگر
The danger of a destructor throwing
شاچار شمش یک معمار ارشد نرم افزار در Speedata.io است.
شاچار یک توسعه دهنده با تجربه و متخصص در ممیزی امنیت محصولات نرم افزاری است. ، توسعه نرم افزار در C و C++، مونتاژ لینوکس، و توسعه نرم افزار برای سرورهای شبکه، درایورهای پایگاه داده، ابزارهای رمزگذاری و سیستم های نصب. از پشتیبانی و توسعه منبع باز گرفته تا ادغام با لینوکس، اندروید و موارد دیگر، شاچار در کانال YouTube خود به موارد ضروری توسعه سخت افزار و نرم افزار پرداخته است مجموعه لازم است.
نمایش نظرات