🔔 با توجه به بهبود نسبی اینترنت، آمادهسازی دورهها آغاز شده است. به دلیل تداوم برخی اختلالات، بارگذاری دورهها ممکن است با کمی تأخیر انجام شود. مدت اشتراکهای تهیهشده محفوظ است.
لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش توسعه C ++: مفاهیم پیشرفته ، عبارات لامبدا و بهترین شیوه ها
- آخرین آپدیت
دانلود C++ Development: Advanced Concepts, Lambda Expressions, and Best Practices
نکته:
ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:
آیا به دنبال تقویت درک خود از C ++ هستید؟ در این دوره ، برخی از جنبه های پیچیده تر این زبان برنامه نویسی اصلی را کشف کنید. از اصول اولیه تعریف کلاس گرفته تا اضافه بار اپراتور و معناشناسی حرکت ، مربی بیل وینمن به شما کمک می کند تا مهارت های مورد نیاز خود را برای به دست آوردن بیشترین استفاده از C ++ توسعه دهید. در مورد عبارات لامبدا ، همزمانی ، محدودیت ها و مفاهیم ، کلاسهای اختیاری و متنوع ، اتصالات ساختاری و بهترین روشها برای اولیه سازی بیاموزید. در طول راه ، بیل برخی از ویژگی های جدید C ++ را شامل می شود از جمله نحوه استفاده از کتابخانه فرمت ، اپراتور سفینه فضایی ، کلاس Span و موارد دیگر.
سرفصل ها و درس ها
مقدمه
Introduction
برنامه نویسی پیشرفته با C ++
Advanced programming with C++
با استفاده از پرونده های ورزش
Using the exercise files
در مورد این دوره
About this course
1. کلاس ها و اشیاء
1. Classes and Objects
تعریف کلاس
Defining a class
اعضای داده
Data members
اعضای عملکرد
Function members
سازندگان و ویرانگرها
Constructors and destructors
سازندگان صریح
Explicit constructors
نامهای نام
Namespaces
اشاره گر خود مراجعه کننده
Self-referencing pointer
بیش از حد اپراتور
Operator overloads
اپراتورهای غیر عضو
Non-member operators
اپراتورهای تبدیل
Conversion operators
اپراتورهای افزایش و کاهش
Increment and decrement operators
تخصیص حافظه شی
Allocating object memory
مکانهای تزئینی
Functors
مثال: کلمه
Example: numword
1. اضافه بار اپراتور
1. Operator Overloads
اپراتورهای غیر عضو
Nonmember operators
اپراتورهای افزایش و کاهش
Increment and decrement operators
تسکین دهنده
Functors
اپراتورهای تبدیل
Conversion operators
اضافه بار اپراتور
Operator overloads
2. وراثت کلاس
2. Class Inheritance
مروری بر وراثت
Overview of inheritance
وراثت ساده
Simple inheritance
دسترسی به کلاس پایه
Accessing the base class
دوستی
Friendship
وراثت چندگانه
Multiple inheritance
پلی مورفیسم
Polymorphism
2. معناشناسی را حرکت دهید
2. Move Semantics
قانون سه و پنج
Rule of three and five
اپراتور واگذاری حرکت
The move assignment operator
سازنده حرکت
The move constructor
با استفاده از std :: حرکت
Using std::move
درک lvalues و rvalues
Understanding lvalues and rvalues
اصطلاح کپی و جابجایی
The copy-and-swap idiom
معناشناسی حرکت چیست؟
What is move semantics?
3. نشانگرهای هوشمند
3. Smart Pointers
چرا نشانگرهای هوشمند
Why smart pointers
نشانگر بی نظیر
Unique pointer
نشانگر مشترک
Shared pointer
اشاره گر ضعیف
Weak pointer
با استفاده از یک حذف کننده سفارشی
Using a custom deleter
انتخاب یک نشانگر هوشمند
Choosing a smart pointer
3. عبارات لامبدا
3. Lambda Expressions
الگوریتم پیش بینی می کند
Algorithm predicates
نحو لامبدا
Lambda syntax
چالش: یک میز پرش لامبدا
Challenge: A Lambda jump table
بسته شدن
Closures
4- معنایی را جابجا کنید
4. Move Semantics
معنای حرکت چیست
What is move semantics
شناختن نرخها و نرخها
Understanding lvalues and rvalues
استفاده از std :: move
Using std::move
سازنده حرکت
The move constructor
اپراتور واگذاری حرکت
The move assignment operator
اصطلاح کپی و تعویض
The copy-and-swap idiom
قانون پنج
Rule of five
4. محدودیت ها و مفاهیم
4. Constraints and Concepts
تعریف مفاهیم
Defining concepts
چرا محدودیت ها؟
Why constraints?
نحو محدودیت
Constraint syntax
5- توابع لامبدا
5. Lambda Functions
نحو لامبدا
Lambda syntax
اسیر می شود
Captures
بره های چند شکل
Polymorphic lambdas
5. اختیاری و انواع
5. Optionals and Variants
هر کلاس
The any class
کلاس متفاوت
The variant class
کلاس اختیاری
The optional class
6. پیش پردازنده C
6. The C Preprocessor
درباره پیش پردازنده
About the preprocessor
ماکرو به عنوان ثابت
Macros as constants
از جمله پرونده ها
Including files
تدوین شرطی
Conditional compilation
تعریف ماکرو
Defining macros
شامل پرونده ها فقط یک بار
Including files only once
6. همزمانی
6. Concurrency
نخ
Threads
mutex و قفل
Mutex and lock
عملکرد async
The async function
اصطلاح تولید کننده مصرف کننده
The producer-consumer idiom
خوابیده
Sleeping
متغیرهای اتمی
Atomic variables
7. تست های واحد
7. Unit Tests
اهمیت تست های واحد
The importance of unit tests
کتابخانه آزمون واحد
A unit test library
7. موضوعات دیگر
7. Other Subjects
کتابخانه سیستم فایل
The filesystem library
کتابخانه Chrono
The chrono library
اتصالات ساختاری
Structured bindings
موتورهای شماره تصادفی
Random number engines
شروع
Initialization
8. کتابخانه رشته های سفارشی
8. Custom String Library
چرا رشته های غیر STL؟
Why non-STL strings?
بررسی اجمالی BWString
Overview of BWString
سازندگان
Constructors
مدیریت حافظه
Memory management
عملگرها
Operators
روش های سودمند
Utility methods
یافتن و جایگزین کردن
Find and replace
تقسیم رشته ها
Splitting strings
با استفاده از کتابخانه BWString
Using the BWString library
8. سایر ویژگی های جدید C ++ 20
8. Other C++20 New Features
کتابخانه قالب
The format library
مقایسه عدد صحیح
Integer comparisons
اپراتور سفینه فضایی
The spaceship operator
کلاس دهانه
The span class
نتیجه
Conclusion
مراحل بعدی
Next steps
پروژه نهایی و نتیجه گیری
Final Project and Conclusion
مدافع فن ، کارآفرین ، کارشناس برنامه نویسی
بیل وینمن یک طرفدار فن آوری ، کارآفرین و متخصص در زبان های برنامه نویسی مانند C ++ و Python است.
بیل وینمن نویسنده چندین کتاب و دوره آنلاین در زمینه های فنی شبکه جهانی وب است. وی به دلیل توانایی خود در توضیح موضوعات پیچیده با اصطلاحات روشن و مختصر به شهرت رسیده است. آقای وینمن اولین رایانه خود را در سال 1973 ساخت و از آن زمان با تکنولوژی درگیر شد. او یک مشاوره موفق را تجربه کرده است ، یک تولید کننده رایانه بوده است و اخیراً ریاست یک شرکت میزبان را بر عهده داشته است. بیل ، یک گیتاریست تبحر ، هنگامی که در مورد کامپیوتر نمی نویسد ، موسیقی را اجرا و ضبط می کند. درباره بیل ، پروژه ها و موسیقی وی می توانید در http://bw.org/ اطلاعات کسب کنید.
نمایش نظرات