آموزش C++ مدرن پیشرفته را بیاموزید

Learn Advanced Modern C++

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
توضیحات دوره: دانش خود را از C++ به سطح بعدی ببرید! همه ویژگی‌های مهم C++ مدرن را بشناسید و درک کنید دانش خوبی از کتابخانه قالب استاندارد، از جمله الگوریتم‌ها ("بهترین راز در C++") یاد بگیرید چگونه از C++ مدرن برای نوشتن کد ایمن‌تر، گویاتر و بیشتر استفاده کنید. کارآمد پوشش کامل C++11، C++14 و مهمترین ویژگی های C++17 نحوه نوشتن بازی با استفاده از C++ مدرن و کتابخانه گرافیکی SFML C++11، ترجیحا C++14 یا C++17 تسلط به زبان انگلیسی (سطح B2، ترجیحا C1)

این دوره دانش شما را در مورد زبان برنامه نویسی C++ از لحاظ فنی چالش برانگیز اما قدرتمند و کارآمد افزایش می دهد.

این زبان برای درک سطح متوسط ​​تا پیشرفته از زبان طراحی شده است. پوشش گسترده ای از کتابخانه قالب استاندارد، از جمله توابع الگوریتم استاندارد وجود دارد. در نهایت، پروژه ای که در آن با نوشتن یک بازی ساده، مهارت های جدید خود را تمرین خواهید کرد.

پس از گذراندن موفقیت آمیز این دوره، باید بتوانید برای مشاغل و دوره هایی که نیاز به دانش خوب C++ دارند، درخواست دهید.

مواد بر اساس نسخه مدرن زبان است. من استانداردهای C++11، C++14 و C++17 را آموزش می‌دهم، اما تغییرات قدیمی‌تری را نیز پوشش می‌دهم که هنوز به طور گسترده استفاده می‌شوند.

این دوره کامل است و به طور عمیق به مطالب می‌پردازد. این شامل دانش پایه ++C است، مانند مطالب دوره من "شروع برنامه نویسی با C++ مدرن": فراخوانی تابع، حلقه ها، شرطی ها و کلاس ها.

برای هر ویدیو تمرین‌های قابل دانلودی با راه‌حل‌هایی وجود دارد، بنابراین می‌توانید درک خود را در حین یادگیری بررسی کنید، با مطالب آشنا و اطمینان پیدا کنید.

من فعالانه از این دوره حمایت خواهم کرد و در صورت داشتن هرگونه سوال یا مشکل در محتوای دوره، به سرعت پاسخ خواهم داد. لطفاً از ویژگی Q A استفاده کنید یا می توانید یک پیام خصوصی برای من ارسال کنید.


سرفصل ها و درس ها

معرفی Introduction

  • مقدمه دوره Introduction to the Course

  • معرفی مدرس Lecturer Introduction

  • کد منبع این دوره Source Code for this Course

بررسی C++ Review of C++

  • متغیرهای محلی و آرگومان های تابع Local Variables and Function Arguments

  • معناشناسی مرجع و ارزش Reference and Value Semantics

  • اعلامیه و مقداردهی اولیه Declaration and Initialization

  • کلاس ها Classes

  • توابع ویژه اعضا Special Member Functions

  • اشاره گر و حافظه Pointers and Memory

  • آرایه، رشته و وکتور Array, String and Vector

  • تمرین کدگذاری کلاس ها و رشته ها Classes and Strings Coding Exercise

  • بررسی اجمالی بازی زندگی کانوی Conway's Game of Life Overview

  • آرایه های دو بعدی Two-Dimensional Arrays

  • بازی زندگی عملی کانوی Conway's Game of Life Practical

  • بازی عملی زندگی کانوی ادامه یافت Conway's Game of Life Practical Continued

  • انواع عددی و لفظی Numeric Types and Literals

  • لفظ رشته String Literals

  • ریخته گری Casting

  • Iterator مقدمه Iterator Introduction

  • کلمه کلیدی خودکار The auto keyword

  • امتحان کلمه کلیدی خودکار Auto Keyword Quiz

  • حلقه ها و تکرار کننده ها Loops and Iterators

  • Iterator Arithmetic و Iterator Ranges Iterator Arithmetic and Iterator Ranges

  • Iterator Arithmetic و Iterator Ranges Quiz Iterator Arithmetic and Iterator Ranges Quiz

  • If Statements and Switch in C++17 If Statements and Switch in C++17

  • بررسی اجمالی الگوها Templates Overview

  • فضاهای نام Namespaces

  • نشانگر تابع Function Pointer

رابط رشته C++ C++ String Interface

  • عملیات رشته پایه Basic String Operations

  • جستجوی رشته ها Searching Strings

  • افزودن عناصر به رشته ها Adding Elements to Strings

  • حذف عناصر از رشته ها Removing Elements from Strings

  • تبدیل بین رشته ها و اعداد Converting between Strings and Numbers

  • عملیات رشته های متفرقه Miscellaneous String Operations

  • توابع کاراکتر Character Functions

  • توابع کاراکتر Character Functions

فایل ها و جریان ها Files and Streams

  • فایل ها و جریان ها Files and Streams

  • جریان های فایل File Streams

  • جریان و بافر Streams and Buffering

  • ورودی و خروجی بافر نشده Unbuffered Input and Output

  • حالت های فایل File Modes

  • عملکردها و وضعیت اعضای جریان Stream Member Functions and State

  • دستکاری های جریان و قالب بندی Stream Manipulators and Formatting

  • فرمت های خروجی ممیز شناور Floating-point Output Formats

  • استرینگ استریم ها Stringstreams

  • مدیریت منابع Resource Management

  • دسترسی تصادفی به جریان ها Random Access to Streams

  • تکرار کننده های جریان Stream Iterators

  • فایل های باینری Binary Files

  • فایل باینری کاربردی Binary File Practical

  • کارگاه فایل ها قسمت اول Files Workshop Part One

  • کارگاه فایل ها قسمت دوم Files Workshop Part Two

توابع ویژه اعضا و بارگذاری بیش از حد اپراتور Special Member Functions and Operator Overloading

  • سازندگان در سی پلاس پلاس مدرن Constructors in Modern C++

  • نمای کلی سازنده کپی Copy Constructor Overview

  • بررسی اجمالی اپراتور واگذاری Assignment Operator Overview

  • توابع عضو سنتز شده Synthesized Member Functions

  • کپی کم عمق و عمیق Shallow and Deep Copying

  • Elision را کپی کنید Copy Elision

  • اپراتورهای تبدیل Conversion Operators

  • پیش فرض و حذف کلمات کلیدی Default and Delete Keywords

  • اپراتورها و اضافه بار. Operators and Overloading.

  • کدام اپراتورها را اضافه بار کنند Which Operators to Overload

  • کلمه کلیدی دوست The Friend Keyword

  • اپراتورهای عضو و غیرعضو Member and Non-member Operators

  • اپراتورهای اضافی Addition Operators

  • اپراتورهای برابری و نابرابری Equality and Inequality Operators

  • کمتر از اپراتور Less-than Operator

  • اپراتورهای پیشوند و پسوند Prefix and Postfix Operators

  • عملکرد اپراتور تماس Function Call Operator

  • چاپ داده های اعضای کلاس Printing Out Class Member Data

معرفی الگوریتم ها و عبارات لامبدا Algorithms Introduction and Lambda Expressions

  • بررسی اجمالی الگوریتم ها Algorithms Overview

  • الگوریتم ها با محمول ها Algorithms with Predicates

  • الگوریتم هایی با نسخه های _if Algorithms with _if Versions

  • معرفی عبارات لامبدا Lambda Expressions Introduction

  • الگوریتم با بیان لامبدا Algorithm with Lambda Expression

  • عبارات لامبدا کاربردی است Lambda Expressions Practical

  • عبارات لامبدا و ضبط Lambda Expressions and Capture

  • عبارات لامبدا و ضبط ادامه دارد Lambda Expressions and Capture Continued

  • لامبدا قابل تغییر Mutable Lambda

  • عبارات لامبدا و ارزیابی جزئی Lambda Expressions and Partial Evaluation

  • عبارات لامبدا در C++14 Lambda Expressions in C++14

  • گرفتن تعمیم یافته با مقداردهی اولیه Generalized capture with initialization

  • نوع جفت Pair Type

  • Iterators را درج کنید Insert Iterators

  • اشیاء تابع کتابخانه Library Function Objects

الگوریتم ها ادامه دارد Algorithms Continued

  • جستجوی الگوریتم ها Searching Algorithms

  • جستجوی الگوریتم ها ادامه دارد Searching Algorithms Continued

  • الگوریتم های عددی Numeric Algorithms

  • الگوریتم های فقط نوشتن Write-only Algorithms

  • برای_هر الگوریتم for_each Algorithm

  • الگوریتم های کپی Copying Algorithms

  • الگوریتم بنویسید Write Algorithms

  • حذف الگوریتم ها Removing Algorithms

  • حذف الگوریتم ها ادامه دارد Removing Algorithms Continued

  • الگوریتم تبدیل Transform Algorithm

  • الگوریتم های ادغام Merging Algorithms

  • مرتب سازی مجدد الگوریتم ها Reordering Algorithms

  • الگوریتم های پارتیشن بندی Partitioning Algorithms

  • الگوریتم های مرتب سازی Sorting Algorithms

  • مرتب سازی الگوریتم ها ادامه دارد Sorting Algorithms Continued

  • الگوریتم های جایگشت Permutation Algorithms

  • الگوریتم های حداقل و حداکثر Min and Max Algorithms

  • الگوریتم های عددی بیشتر Further Numeric Algorithms

  • الگوریتم های عددی بیشتر ادامه دارد Further Numeric Algorithms Continued

  • مقدمه ای بر اعداد تصادفی Introduction to Random Numbers

  • اعداد تصادفی در C++ قدیمی تر Random Numbers in Older C++

  • اعداد تصادفی در سی پلاس پلاس مدرن Random Numbers in Modern C++

  • الگوریتم های اعداد تصادفی Random Number Algorithms

  • بررسی کننده پالیندروم عملی Palindrome Checker Practical

  • پیاده روی تصادفی عملی Random Walk Practical

  • کارگاه الگوریتم ها و تکرار کننده ها Algorithms and Iterators Workshop

ظروف Containers

  • معرفی کانتینر Container Introduction

  • آرایه کتابخانه استاندارد Standard Library Array

  • فهرست به جلو Forward List

  • فهرست کنید List

  • لیست عملیات List Operations

  • دکه Deque

  • ظروف متوالی Sequential Containers

  • ظروف متوالی قسمت دوم Sequential Containers Part Two

  • ساختار داده درختی Tree Data Structure

  • مجموعه ها Sets

  • نقشه Map

  • نقشه ها Maps

  • نقشه ها و درج Maps and Insertion

  • نقشه ها در C++17 Maps in C++17

  • Multiset و Multimap Multiset and Multimap

  • جستجو در چند نقشه Searching Multimaps

  • ظروف انجمنی نامرتب Unordered Associative Containers

  • ظروف انجمنی نامرتب ادامه دارد Unordered Associative Containers Continued

  • ظروف انجمنی و انواع سفارشی Associative Containers and Custom Types

  • نقشه های تو در تو Nested Maps

  • صف ها Queues

  • صف های اولویت دار Priority Queues

  • پشته Stack

  • استقرار Emplacement

  • بازی Mastermind عملی Mastermind Game Practical

  • کارگاه کانتینر Containers Workshop

وراثت و چند شکلی Inheritance and Polymorphism

  • سلسله مراتب طبقاتی و وراثت Class Hierarchies and Inheritance

  • کلاس های پایه و مشتق شده Base and Derived Classes

  • توابع اعضا و وراثت Member Functions and Inheritance

  • بارگذاری بیش از حد توابع اعضا Overloading Member Functions

  • اشاره گرها، مراجع و ارث Pointers, References and Inheritance

  • نوع استاتیک و دینامیک Static and Dynamic Type

  • توابع مجازی Virtual Functions

  • توابع مجازی در C++11 Virtual Functions in C++11

  • توابع مجازی Virtual Functions

  • ویرانگر مجازی Virtual Destructor

  • رابط ها و توابع مجازی Interfaces and Virtual Functions

  • پیاده سازی عملکرد مجازی Virtual Function Implementation

  • پلی مورفیسم Polymorphism

رسیدگی به خطاها و استثناها Error Handling and Exceptions

  • رسیدگی به خطا Error Handling

  • کدهای خطا و استثنائات Error codes and Exceptions

  • استثناها مقدمه Exceptions Introduction

  • بلوک ها را امتحان کنید و بگیرید Try and Catch Blocks

  • همه گردانندگان را بگیر Catch-all Handlers

  • مکانیسم استثنا Exception Mechanism

  • std:: استثناء سلسله مراتب std::exception Hierarchy

  • زیر کلاس های استثنای استاندارد Standard Exception Subclasses

  • استثناها و توابع ویژه اعضا Exceptions and Special Member Functions

  • کلاس استثنای سفارشی Custom Exception Class

  • ایمنی استثنایی Exception Safety

  • تعیین کننده استثنای throw(). The throw() Exception Specifier

  • کلمه کلیدی noexcept The noexcept keyword

  • تابع تعویض Swap Function

  • کلاس ایمن استثنایی Exception-safe Class

  • کپی و تعویض Copy and Swap

  • مقایسه با جاوا و استثناهای سی شارپ Comparison with Java and C# Exceptions

Move Semantics Move Semantics

  • Move Semantics Move Semantics

  • Lvalues ​​و Rvalues Lvalues and Rvalues

  • مراجع Lvalue و Rvalue Lvalue and Rvalue References

  • دسته بندی های ارزشی Value Categories

  • انتقال اپراتورها Move Operators

  • کلاس RAII با اپراتورهای حرکت RAII Class with Move Operators

  • انواع فقط حرکت و RAII Move-only Types and RAII

  • توابع ویژه اعضا در C++11 Special Member Functions in C++11

  • استفاده از توابع عضو ویژه در C++11 Using Special Member Functions in C++11

  • استدلال های تابع و معناشناسی حرکت Function Arguments and Move Semantics

  • ارجاعات ارسالی Forwarding References

  • ارسال کامل Perfect Forwarding

  • حمل و نقل کامل عملی Perfect Forwarding Practical

اشاره گرهای هوشمند Smart Pointers

  • معرفی اشاره گرهای هوشمند Smart Pointers Introduction

  • اشاره گر منحصر به فرد Unique Pointer

  • اشاره گرهای منحصر به فرد و چند شکلی Unique Pointers and Polymorphism

  • اشاره گرهای منحصر به فرد و حذف کننده های سفارشی Unique Pointers and Custom Deleters

  • الگوی دسته-بدنه The Handle-Body Pattern

  • اصطلاح pImpl The pImpl Idiom

  • شمارش مراجع Reference Counting

  • اشاره گر مشترک Shared pointer

  • اشاره گر ضعیف Weak Pointer

  • نشانگر ضعیف و پیشگیری از چرخه Weak Pointer and Cycle Prevention

ویژگی های متفرقه Miscellaneous Features

  • معرفی کتابخانه کرونو Chrono Library Introduction

  • انواع مدت زمان کرونو Chrono Duration Types

  • ساعت های کرونو و نقاط زمانی Chrono Clocks and Time Points

  • بیت ها Bitsets

  • تاپل ها Tuples

  • تاپل ها در C++17 Tuples in C++17

  • اتحادیه ها Unions

  • اتحادیه ها ادامه دارد Unions Continued

  • انواع ریاضی Mathematical Types

  • بستن Bind

  • اشیاء قابل فراخوانی Callable Objects

  • نشانگرهای عملکرد اعضا Member Function Pointers

  • رابط به C Interfacing to C

  • رابط به C Interfacing to C

  • اطلاعات نوع زمان اجرا Run-time Type Information

  • ارث چندگانه Multiple Inheritance

  • وراثت مجازی Virtual Inheritance

  • فضاهای نام درون خطی Inline Namespaces

  • ویژگی های Attributes

برنامه نویسی در زمان کامپایل Compile-time Programming

  • مروری بر برنامه نویسی در زمان کامپایل Compile-time Programming Overview

  • عبارات ثابت Constant Expressions

  • توابع Constexpr Constexpr Functions

  • کلاس ها و قالب ها Classes and Templates

  • تخصص قالب Template Specialization

  • قالب های خارجی Extern Templates

  • قالب های متنوع Variadic Templates

  • ویژگی های متفرقه قالب Miscellaneous Template Features

  • اپراتورهای تعریف شده توسط کتابخانه Library-defined Operators

  • بیانیه Constexpr If Constexpr If Statement

  • Constexpr If Examples Constexpr If Examples

  • کلمه کلیدی decltype The decltype Keyword

Project: A Breakout Game با استفاده از C++ مدرن با SFML Project: A Breakout Game Using Modern C++ with SFML

  • شکست پروژه Project Breakout

  • SFML مقدمه SFML Introduction

  • پیکربندی کامپایلر برای SFML Compiler Configuration for SFML

  • پنجره اصلی Basic Window

  • پیاده‌روی تصادفی مورد بازبینی قرار گرفت Random Walk Revisited

  • جن Sprite

  • توپ Ball

  • توپ پرش Bouncing Ball

  • دست و پا زدن Paddle

  • پارو متحرک Moving Paddle

  • تعامل توپ و پارو Ball-Paddle Interaction

  • آجر Bricks

  • تعامل توپ با آجر Ball Interaction with Bricks

  • مدیر بازی Game Manager

  • نمای کلی Entity Manager Entity Manager Overview

  • Entity Manager و Object Creation Entity Manager and Object Creation

  • Entity Manager و Object Operations Entity Manager and Object Operations

  • استحکام آجر Brick Strength

  • ویژگی های بیشتر More Features

  • نتیجه Conclusion

منابع Resources

  • کتاب های توصیه شده Recommended Books

  • اینفوگرافیک "برگ تقلب" C++ C++ "Cheat Sheet" Infographics

  • Github "چارچوب‌ها و کتابخانه‌های عالی C++". The "Awesome C++ Frameworks and Libraries" Github

  • Github "منابع عالی C++ مدرن". The "Awesome Modern C++ Resources" Github

  • ماده جایزه Bonus Material

نمایش نظرات

نظری ارسال نشده است.

آموزش C++ مدرن پیشرفته را بیاموزید
خرید اشتراک و دانلود خرید تکی و دانلود | 320,000 تومان (5 روز مهلت دانلود) در صورت خرید اشتراک، این آموزش بدلیل حجم بالا معادل 2 دوره است و 2 دوره از اشتراک شما کم می شود. زمان تقریبی آماده سازی لینک دانلود این دوره آموزشی حدود 5 تا 24 ساعت می باشد.
جزییات دوره
24 hours
231
Udemy (یودمی) udemy-small
10 فروردین 1402 (آخرین آپدیت رو دریافت می‌کنید، حتی اگر این تاریخ بروز نباشد.)
5,774
4.4 از 5
دارد
دارد
دارد
James Raynard

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

James Raynard James Raynard

توسعهدهنده نرم افزار و مربی، متخصص در C ++ من از سال 1994 توسعه دهنده نرم افزار بوده ام، عمدتا در Telecomms و امور مالی، هر دو در انگلستان و هم در خارج از کشور. من اکنون به عنوان یک مربی کار می کنم و کلاس های توسعه نرم افزاری را در طیف وسیعی از محیط ها آموزش داده ام. من تا کنون سه دوره در مورد Udemy منتشر کرده ام. "یادگیری مدرن C ++!" و "یادگیری پیشرفته مدرن C ++" به طور جامع پوشش C ++ 11 و 14 و برخی از C ++ 17. "یادگیری مدرن C ++ Multithreading" به اصول برنامه نویسی Multithreaded با استفاده از C ++ 11، 14 و 17 آموزش می دهد.

Udemy (یودمی)

یودمی یکی از بزرگ‌ترین پلتفرم‌های آموزشی آنلاین است که به میلیون‌ها کاربر در سراسر جهان امکان دسترسی به دوره‌های متنوع و کاربردی را فراهم می‌کند. این پلتفرم امکان آموزش در زمینه‌های مختلف از فناوری اطلاعات و برنامه‌نویسی گرفته تا زبان‌های خارجی، مدیریت، و هنر را به کاربران ارائه می‌دهد. با استفاده از یودمی، کاربران می‌توانند به صورت انعطاف‌پذیر و بهینه، مهارت‌های جدیدی را یاد بگیرند و خود را برای بازار کار آماده کنند.

یکی از ویژگی‌های برجسته یودمی، کیفیت بالای دوره‌ها و حضور استادان مجرب و با تجربه در هر حوزه است. این امر به کاربران اعتماد می‌دهد که در حال دریافت آموزش از منابع قابل اعتماد و معتبر هستند و می‌توانند به بهترین شکل ممکن از آموزش‌ها بهره ببرند. به طور خلاصه، یودمی به عنوان یکی از معتبرترین و موثرترین پلتفرم‌های آموزشی آنلاین، به افراد امکان می‌دهد تا به راحتی و با کیفیت، مهارت‌های مورد نیاز خود را ارتقا دهند و به دنبال رشد و پیشرفت شغلی خود باشند.