نکته:
آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیویی برای نمایش وجود ندارد.
توضیحات دوره:
این دوره با استفاده از اسلایدها و کد های آزمایشی ، نحوه استفاده از برخی ظروف مهم موجود در کتابخانه استاندارد C ++ (به عنوان مثال std :: vector) را به شما بصورت عملی آموزش می دهد. با مزایا و معایب آنها ، عملکردهای معمول و نحوه رفع اشکالات ظریف آشنا خواهید شد. برنامه های رایانه ای غیر پیش پا افتاده نیاز به ذخیره داده ها و پردازش آنها دارند. توسعه ساختارهای داده و ظروف از ابتدا در C ++ یک کار دلهره آور و مستعد اشکال است. در واقع ، شما باید جنبه های پیشرفته ای مانند حافظه دستی و مدیریت منابع ، مدیریت مناسب موارد گوشه ای ظریف ، نوشتن کد عمومی و کدی را که برای موارد خاص بهینه شده است و غیره در نظر بگیرید. خوشبختانه کتابخانه استاندارد C ++ در حال حاضر ظروفی را ارائه می دهد که از کیفیت بالایی ، کارآیی و آزمایش خوبی برخوردار هستند. توسعه کد های C ++ برای استفاده مجدد از آنها باعث خوشحالی است: در واقع ، استفاده از این ظروف در کد C ++ باعث افزایش بهره وری شما می شود ، زیرا کتابخانه استاندارد C ++ به شما امکان می دهد با کیفیت بالا از ساختار داده های رایج و مفید استفاده کنید ، که می توانید به راحتی از کد C ++ خود استفاده کنید. نگهدارندگان C ++ Standard Library ساعت ها به بررسی این ساختارهای داده و بهبود ، اصلاح و بهینه سازی کد اجرای C ++ خود می پردازند. در این دوره ، شما یاد خواهید گرفت که چگونه به راحتی از آن گنجینه در برنامه های C ++ خود استفاده مجدد کنید. به طور خاص ، شما در مورد std :: vector یاد خواهید گرفت ، که یک آرایه دینامیکی انعطاف پذیر است ، که باید کانتینر انتخابی پیش فرض در بسیاری از زمینه ها در برنامه های C ++ باشد. از مدیریت خودکار منابع (هم برای منابع حافظه و هم برای حافظه های غیر حافظه) که توسط std :: vector ارائه شده است ، لذت خواهید برد که به شما در توسعه کد C ++ کارآمد و مطمئن کمک می کند. همچنین خواهید دید که به عنوان مثال برای پرورش یک بردار ، همچنان که نیاز به طرح حافظه مجاور برای عناصر آن است ، چقدر راحت است. همچنین با استفاده از هر دو روش ظرف C ++ و الگوریتم های استاندارد کتابخانه ، در مورد عملیات مهم مانند درج ، حذف و جستجو در عناصر اطلاعات کسب خواهید کرد. در حقیقت ، ظروف و الگوریتم های استاندارد C ++ به نوعی مانند "نان و کره" هستند و با استفاده از هر دو می توانید کارهای بزرگی انجام دهید. نیازی به تجربه قبلی با کتابخانه استاندارد C ++ ندارید ، زیرا من طراحی عالی و انعطاف پذیر آن را بر اساس کانتینرها ، الگوریتم ها و تکرارکننده ها به شما آموزش می دهم ، و خواهید دید که چگونه کانتینرها با استفاده از تکرار کننده ها با الگوریتم ها سیم می شوند و چگونه می توانید از الگوریتم های مشابه با ظروف مختلف استفاده مجدد کنید. همچنین یاد خواهید گرفت که در برخی موارد خاص می توانید از یک ظرف استاندارد بالای سر خود استفاده کنید که آرایه هایی با اندازه ثابت C را در یک رابط C ++ امن با سطح بالا مناسب قرار دهد: این آرایه std :: است. من آن را در مقایسه با std :: vector مقایسه و مقایسه می کنم ، و شما جوانب مثبت و منفی هر یک را یاد خواهید گرفت. همچنین اگر به انتزاع سطح بالای C ++ مبتنی بر ساختار داده های لیست پیوندی مضاعف نیاز دارید ، نحوه استفاده از ظرف std :: را یاد خواهید گرفت. علاوه بر این ، دیدن الگوریتم های مشابه مورد استفاده در ظروف مختلف نیز به عنوان یک تجربه یادگیری تقویت کننده برای شما بسیار مناسب خواهد بود. من همچنین برخی از اشکالات ظریف را به شما نشان خواهم داد ، که به ویژه در کسانی که شروع به یادگیری ظروف کتابخانه استاندارد C ++ و نحوه رفع آنها می کنند ، اغلب وجود دارد. امیدوارم این باعث صرفه جویی در وقت و سردرد شما در حین برنامه نویسی C ++ شود. برای ادامه مهارت در این دوره ، فقط به یک دانش اساسی در مورد ویژگی های زبان C ++ نیاز دارید. پس از اتمام این دوره ، شما می توانید از ظروف با کیفیت بالا و آزمایش شده C ++ Standard Library مانند لیست های std :: vector، std :: array و std :: در کد C ++ خود استفاده کنید. شما دانش عملی در مورد آنها خواهید داشت ، و می توانید در مورد انتخاب یکی یا دیگری بر اساس مشکل موجود قضاوت درستی داشته باشید. همچنین در مورد عملیات مشترک مهم با این ظروف استاندارد ، مانند قرار دادن ، برداشتن و جستجو موارد ، دانش خواهید داشت.
سرفصل ها و درس ها
بررسی اجمالی دوره
Course Overview
-
بررسی اجمالی دوره
Course Overview
ذخیره توالی عناصر با محفظه استاندارد std :: vector
Storing Sequences of Elements with the Standard std::vector Container
-
مقدمه
Introduction
-
معرفی وکتور std ::
Introducing std::vector
-
نسخه ی نمایشی: std :: وکتور در عمل
Demo: std::vector in Action
-
نسخه ی نمایشی: std :: وکتور کلاسهای خود
Demo: std::vector of Your Own Classes
-
عملیات اساسی با بردار std ::
Basic Operations with std::vector
-
دسترسی ایمن به std :: vector Elements
Safely Accessing std::vector Elements
-
نسخه ی نمایشی: سرریز بافر و دسترسی ایمن به عناصر در بردار std ::
Demo: Buffer Overflow and Safe Element Access in std::vector
-
تجزیه و تحلیل سیاست رشد بردار std :: vector: اندازه در مقابل ظرفیت
Analyzing std::vector Growth Policy: Size vs. Capacity
-
نکته مفید: ذخیره ظرفیت برای بهبود فشارهای push_back
Perf Tip: Reserving Capacity to Improve push_back Times
-
خلاصه
Summary
شکستن یخ با الگوریتم های استاندارد مفید: مرتب سازی بردار: بردار
Breaking the Ice with Useful Standard Algorithms: Sorting std::vector
-
مقدمه
Introduction
-
مرتب سازی std :: وکتور با std :: مرتب سازی
Sorting std::vector with std::sort
-
تکرار کنندگان چیستند و چرا باید مراقبت کنید؟
What Are Iterators and Why Should You Care?
-
نسخه ی نمایشی: std :: مرتب سازی در عمل
Demo: std::sort in Action
-
مرتب سازی با استفاده از سفارش سفارشی
Sorting Using Custom Order
-
خلاصه
Summary
درج ، حذف و جستجوی عناصر
Inserting, Removing, and Searching Elements
-
مقدمه
Introduction
-
درج عناصر با std :: vector :: insert
Inserting Elements with std::vector::insert
-
اضافه بار اضافی std :: vector :: insert
Additional Overloads of std::vector::insert
-
نسخه ی نمایشی: std :: vector :: درج در Action
Demo: std::vector::insert in Action
-
حذف عناصر با اصطلاح Erase-remove
Removing Elements with the Erase-remove Idiom
-
نسخه ی نمایشی: اصطلاح پاک کردن و حذف در عمل
Demo: The Erase-remove Idiom in Action
-
نسخه ی نمایشی: رفع اشکال ظریف درگیر حذف اصطلاحات پاک کردن
Demo: Fixing a Subtle Bug Involving the Erase-remove Idiom
-
جستجوی عناصر با std :: find and std :: find_if
Searching for Elements with std::find and std::find_if
-
نسخه ی نمایشی: جستجو در عمل
Demo: Searching in Action
-
نسخه ی نمایشی: جستجوی رشته بدون حساسیت به پرونده با std :: find_if
Demo: Case-insensitive String Search with std::find_if
-
خلاصه
Summary
محصور سازی ایمن آرایه هایی با اندازه ثابت با آرایه std ::
Safely Encapsulating Fixed-size Arrays with std::array
-
مقدمه
Introduction
-
std :: array: یک بسته بندی C ++ صفر سربار در اطراف آرایه های ساخته شده
std::array: A Zero-overhead C++ Wrapper Around Built-in Arrays
-
عملیات مشترک با آرایه std ::
Common Operations with std::array
-
استفاده مجدد از الگوریتم های استاندارد کتابخانه با آرایه std ::
Reusing Standard Library’s Algorithms with std::array
-
نسخه ی نمایشی: آرایه std :: در Action
Demo: std::array in Action
-
اجرای جداول جستجوی سریع بسیار کارآمد با آرایه std ::
Implementing Very Efficient Fast Look-up Tables with std::array
-
خلاصه
Summary
مدیریت لیست های پیوندی با لیست std ::
Managing Linked-lists with std::list
-
مقدمه
Introduction
-
معرفی لیست std ::: جوانب مثبت و منفی
Introducing std::list: Pros and Cons
-
ایجاد لیست std :: ، درج و حذف عناصر
Creating std::list, Inserting and Removing Elements
-
دسترسی به عناصر در لیست std ::
Accessing Elements in std::list
-
دو طرفه در مقابل تکرار فقط به جلو ، و لیست STD :: forward_
Bidirectional vs. Forward-only Iteration, and std::forward_list
-
نسخه ی نمایشی: std :: لیست در عمل
Demo: std::list in Action
-
نسخه ی نمایشی: اشکال ظریف هنگام مرتب سازی لیست std ::
Demo: Subtle Bug When Sorting std::list
-
تجزیه و تحلیل و رفع لیست std :: مرتب سازی اشکال
Analyzing and Fixing the std::list Sorting Bug
-
نسخه ی نمایشی: مرتب سازی لیست STD :: در عمل
Demo: Sorting std::list in Action
-
خلاصه و متشکرم
Summary and Thank You
نمایش نظرات