آموزش C++ مدرن کامل (C++11/14/17)

Complete Modern C++ (C++11/14/17)

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
توضیحات دوره: درباره معناشناسی حرکت، عبارات لامبدا، اشاره گرهای هوشمند، همزمانی، الگو، STL و موارد دیگر بیاموزید استفاده از C++ به عنوان یک زبان شی گرا Demystify الگوهای تابع و کلاس استفاده از اجزای STL در برنامه های خود نوشتن برنامه های کاربردی دنیای واقعی در C++ Apply Modern C++ (C+) +11/14/17) در برنامه ها پیش نیازها: دانش برنامه نویسی اولیه در هر زبان کامپیوتری تجربه نوشتن برنامه به هر زبانی کامپایلر مدرن C++ ترجیحا Visual Studio 2015/17/19 Community (یا XCode, Clang, g++, Cevelop, Eclipse CDT، Code::Blocks)

C++ را با ویژگی های مدرن معرفی شده با C++11/14/17 به طور عمیق یاد بگیرید

به‌روزرسانی با ویژگی‌های C++17!

C++ یک زبان برنامه نویسی عمومی است که توسط Bjarne Stroustrup اختراع شده است. هنوز هم یکی از محبوب‌ترین زبان‌های برنامه‌نویسی است که برای ایجاد برنامه‌های کاربردی با کارایی بالا در طیف گسترده‌ای از پلتفرم‌های دامنه استفاده می‌شود.

در سال 2011، C++11 متولد شد. این ویرایش بسیاری از ویژگی های جدید را به زبان اضافه کرد و نام جدیدی به نام Modern C++ پیدا کرد. این بر نوشتن کد C++ با استفاده از ویژگی‌های مدرن زبان مانند معناشناسی حرکت، استنتاج نوع خودکار، رشته‌بندی، عبارات لامبدا، اشاره‌گرهای هوشمند و موارد دیگر تأکید دارد. پس از C++11، C++14 اضافه شد که ویژگی‌های بیشتری را اضافه کرد و امکانات موجود را بهبود بخشید. C++17 که در سال 2017 منتشر شد، یک کتابخانه سیستم فایل (که در دوره پوشش داده شده است)، نسخه های موازی الگوریتم های STL، انواع کتابخانه های جدید مانند std::optional، std::any و موارد دیگر اضافه کرد.

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

توجه داشته باشید که اگر

این دوره برای شما مناسب نیست
  1. شما قبلاً هرگز برنامه نویسی نکرده اید

  2. شما هیچ زبان برنامه نویسی نمی دانید

  3. می خواهید اصول برنامه نویسی را بیاموزید

به‌روزرسانی [19 آوریل 2020]: بزرگترین به‌روزرسانی تاکنون. تغییرات زبان اصلی C++17، بهبود قالب و انواع کتابخانه جدید اضافه شد.

به‌روزرسانی [11 آوریل 2020]: محتوای اضافه شده در حذف کپی، ویژگی‌های نوع، ضبط لامبدا تعمیم‌یافته static_assert، اتحادیه‌های C++11

به‌روزرسانی [25 مارس 2020]: نصب همزمان XCode در سطح بالا (std::async)

به‌روزرسانی [1 مارس 2019]: ویدیوهای بیشتری برای مدیریت حافظه با اشاره‌گرهای هوشمند (shared_ptr، unique_ptr، ضعیف_ptr_) اضافه شده است

به‌روزرسانی [19 اکتبر 2017] :دستورالعمل‌هایی برای نصب Visual Studio Community 2017 اضافه شد، Cevelop (Eclipse) Code::Blocks

به‌روزرسانی [29 سپتامبر 2107]: محتوای بیشتری در تخصیص حافظه پویا (مالک، جدید[]، آرایه‌های دوبعدی، رشته‌ها) اضافه شد

به‌روزرسانی [16 سپتامبر 2017]: همزمانی C++ (std::thread، std::mutex، و غیره)

به‌روزرسانی [27 آوریل 2017]: الگوها، شیء تابع، عبارات لامبدا، کتابخانه الگوی استاندارد

به‌روزرسانی [23 مارس 2017]: ارث بردن مجازی، مدیریت استثناء، ورودی/خروجی فایل، std:: سیستم فایل (C++17)

به‌روزرسانی [4 مارس 2017]: رشته‌ها، جریان‌های رشته‌ای، enums، وراثت، چندشکلی

به‌روزرسانی [25 فوریه 2017]: کد منبع موضوعات موجود اضافه شد


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

از اینجا شروع کنید Start Here

  • معرفی Introduction

  • کد منبع Source Code

  • نرم افزار مورد نیاز Required software

  • نصب ویژوال استودیو 2015 (منسوخ شده) Visual Studio 2015 Installation (DEPRECATED)

  • نصب ویژوال استودیو 2017 (منسوخ شده) Visual Studio 2017 Installation (DEPRECATED)

  • نصب ویژوال استودیو 2019 Visual Studio 2019 Installation

  • کد::نصب بلوک ها Code::Blocks Installation

  • نصب Cevelop Cevelop Installation

  • نصب XCode در MacOS XCode Installation on MacOS

  • اسلایدهای دوره Course Slides

از اینجا شروع کنید Start Here

  • معرفی Introduction

  • کد منبع Source Code

  • نرم افزار مورد نیاز Required software

  • نصب ویژوال استودیو 2015 (منسوخ شده) Visual Studio 2015 Installation (DEPRECATED)

  • نصب ویژوال استودیو 2017 (منسوخ شده) Visual Studio 2017 Installation (DEPRECATED)

  • نصب ویژوال استودیو 2019 Visual Studio 2019 Installation

  • کد::نصب بلوک ها Code::Blocks Installation

  • نصب Cevelop Cevelop Installation

  • نصب XCode در MacOS XCode Installation on MacOS

  • اسلایدهای دوره Course Slides

امکانات اولیه زبان Basic Language Facilities

  • C++ چیست؟ What is C++?

  • اولین برنامه ++C First C++ Program

  • فرآیند کامپایل C++ The C++ Compilation Process

  • انواع و متغیرهای اولیه Primitive Types & Variables

  • ورودی/خروجی پایه Basic Input/Output

  • مبانی توابع - بخش اول Functions Basics - Part I

  • مبانی توابع - قسمت دوم Functions Basics - Part II

  • مروری بر اشکال زدایی در ویژوال استودیو Overview of Debugging in Visual Studio

  • مقداردهی اولیه یکنواخت (C++11) Uniform Initialization (C++11)

  • اشاره گرها Pointers

  • وظیفه Assignment

  • ارجاع Reference

  • وظیفه Assignment

  • مرجع در مقابل اشاره گر Reference Vs Pointer

  • مرحله مقدماتی The const Qualifier

  • const Qualifer & Compound Types const Qualifer & Compound Types

  • وظیفه Assignment

  • استنتاج نوع خودکار (C++11) Automatic Type Inference (C++11)

  • آزمون مبانی - I Basics Quiz - I

  • برای حلقه مبتنی بر محدوده - I (C++11) Range-Based For Loop - I (C++11)

  • برای حلقه مبتنی بر محدوده - II (C++11) Range-Based For Loop - II (C++11)

  • عملکرد بیش از حد Function Overloading

  • آرگومان های تابع پیش فرض Default Function Arguments

  • توابع درون خطی Inline Functions

  • نشانگرهای تابع Function Pointers

  • فضای نام Namespace

  • آزمون مبانی - II Basics Quiz - II

امکانات اولیه زبان Basic Language Facilities

  • C++ چیست؟ What is C++?

  • اولین برنامه ++C First C++ Program

  • فرآیند کامپایل C++ The C++ Compilation Process

  • انواع و متغیرهای اولیه Primitive Types & Variables

  • ورودی/خروجی پایه Basic Input/Output

  • مبانی توابع - بخش اول Functions Basics - Part I

  • مبانی توابع - قسمت دوم Functions Basics - Part II

  • مروری بر اشکال زدایی در ویژوال استودیو Overview of Debugging in Visual Studio

  • مقداردهی اولیه یکنواخت (C++11) Uniform Initialization (C++11)

  • اشاره گرها Pointers

  • وظیفه Assignment

  • ارجاع Reference

  • وظیفه Assignment

  • مرجع در مقابل اشاره گر Reference Vs Pointer

  • مرحله مقدماتی The const Qualifier

  • const Qualifer & Compound Types const Qualifer & Compound Types

  • وظیفه Assignment

  • استنتاج نوع خودکار (C++11) Automatic Type Inference (C++11)

  • آزمون مبانی - I Basics Quiz - I

  • برای حلقه مبتنی بر محدوده - I (C++11) Range-Based For Loop - I (C++11)

  • برای حلقه مبتنی بر محدوده - II (C++11) Range-Based For Loop - II (C++11)

  • عملکرد بیش از حد Function Overloading

  • آرگومان های تابع پیش فرض Default Function Arguments

  • توابع درون خطی Inline Functions

  • نشانگرهای تابع Function Pointers

  • فضای نام Namespace

  • آزمون مبانی - II Basics Quiz - II

مدیریت حافظه - قسمت اول Memory Management - Part I

  • تخصیص حافظه پویا - قسمت اول (عملکرد malloc) Dynamic Memory Allocation - Part I (malloc function)

  • تخصیص حافظه پویا - قسمت دوم (اپراتور جدید) Dynamic Memory Allocation - Part II (new operator)

  • تخصیص حافظه پویا - بخش سوم (اپراتور[] جدید) Dynamic Memory Allocation - Part III (new[] operator)

  • تخصیص حافظه پویا - قسمت چهارم (آرایه‌های دوبعدی) Dynamic Memory Allocation - Part IV (2D arrays)

  • تخصیص حافظه پویا - فقط کد منبع Dynamic Memory Allocation - Source Code Only

مدیریت حافظه - قسمت اول Memory Management - Part I

  • تخصیص حافظه پویا - قسمت اول (عملکرد malloc) Dynamic Memory Allocation - Part I (malloc function)

  • تخصیص حافظه پویا - قسمت دوم (اپراتور جدید) Dynamic Memory Allocation - Part II (new operator)

  • تخصیص حافظه پویا - بخش سوم (اپراتور[] جدید) Dynamic Memory Allocation - Part III (new[] operator)

  • تخصیص حافظه پویا - قسمت چهارم (آرایه‌های دوبعدی) Dynamic Memory Allocation - Part IV (2D arrays)

  • تخصیص حافظه پویا - فقط کد منبع Dynamic Memory Allocation - Source Code Only

کلاس ها و اشیاء Classes & Objects

  • مبانی برنامه نویسی شی گرا Object Oriented Programming Basics

  • کلاس Class

  • سازنده و ویرانگر Constructor & Destructor

  • سازه های Structures

  • Initializers اعضای داده غیراستاتیک (C++11) Non-static Data Member Initializers (C++11)

  • این اشاره گر this Pointer

  • اعضای کلاس استاتیک Static Class Members

  • توابع عضو ثابت Constant Member Functions

  • Copy Constructor - قسمت اول Copy Constructor - Part I

  • کپی سازنده - قسمت دوم Copy Constructor - Part II

  • تفویض اختیار سازنده (C++11) Delegating Constructors (C++11)

  • توابع پیش فرض و حذف شده (C++11) Default & Deleted Functions (C++11)

  • امتحان I Quiz I

کلاس ها و اشیاء Classes & Objects

  • مبانی برنامه نویسی شی گرا Object Oriented Programming Basics

  • کلاس Class

  • سازنده و ویرانگر Constructor & Destructor

  • سازه های Structures

  • Initializers اعضای داده غیراستاتیک (C++11) Non-static Data Member Initializers (C++11)

  • این اشاره گر this Pointer

  • اعضای کلاس استاتیک Static Class Members

  • توابع عضو ثابت Constant Member Functions

  • Copy Constructor - قسمت اول Copy Constructor - Part I

  • کپی سازنده - قسمت دوم Copy Constructor - Part II

  • تفویض اختیار سازنده (C++11) Delegating Constructors (C++11)

  • توابع پیش فرض و حذف شده (C++11) Default & Deleted Functions (C++11)

  • امتحان I Quiz I

Move Semantics Move Semantics

  • L-values، R-values ​​و R-value مراجع (C++11) L-values, R-values & R-value References (C++11)

  • Move Semantics - Basics (C++11) Move Semantics - Basics (C++11)

  • Move Semantics - Implementation (C++11) Move Semantics - Implementation (C++11)

  • قانون 5 و 0 Rule of 5 & 0

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

  • تابع std::move (C++11) std::move Function (C++11)

  • امتحان Quiz

Move Semantics Move Semantics

  • L-values، R-values ​​و R-value مراجع (C++11) L-values, R-values & R-value References (C++11)

  • Move Semantics - Basics (C++11) Move Semantics - Basics (C++11)

  • Move Semantics - Implementation (C++11) Move Semantics - Implementation (C++11)

  • قانون 5 و 0 Rule of 5 & 0

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

  • تابع std::move (C++11) std::move Function (C++11)

  • امتحان Quiz

بارگذاری بیش از حد اپراتور Operator Overloading

  • کد نمایشی بارگذاری بیش از حد اپراتور Operator Overloading Demo Code

  • بارگذاری بیش از حد اپراتور - قسمت اول (اصول) Operator Overloading - Part I (Basics)

  • بارگذاری بیش از حد اپراتور - قسمت دوم (اپراتور واگذاری) Operator Overloading - Part II (Assignment Operator)

  • بارگذاری بیش از حد اپراتور - قسمت سوم (سربارگذاری های جهانی) Operator Overloading - Part III (Global Overloads)

  • بارگذاری بیش از حد اپراتور - قسمت چهارم (کلید کلیدی دوست) Operator Overloading - Part IV (Friend Keyword)

  • بارگذاری بیش از حد اپراتور - قسمت پنجم (مبانی اشاره گر هوشمند) Operator Overloading - Part V (Smart Pointer Basics)

  • بارگذاری بیش از حد اپراتور - قسمت ششم (اشاره‌گرهای هوشمند در C++11) Operator Overloading - Part VI (Smart Pointers in C++11)

  • بارگذاری بیش از حد اپراتور - قسمت VII (قوانین) Operator Overloading - Part VII (Rules)

  • تبدیل نوع - قسمت اول (اصول) Type Conversions - Part I (Basics)

  • تبدیل نوع - قسمت دوم (نوع اولیه به کاربر) Type Conversions - Part II (Primitive to User Type)

  • تبدیل نوع - قسمت III (کاربر به نوع اولیه) Type Conversions - Part III (User to Primitive Type)

  • تبدیل نوع - قسمت چهارم (تعریف شده توسط کاربر به تعریف شده توسط کاربر) Type Conversions - Part IV (User Defined to User Defined)

  • مقداردهی اولیه در مقابل فهرست اولیه واگذاری و اعضا Initialization Vs. Assignment & Member Initialization List

  • امتحان Quiz

بارگذاری بیش از حد اپراتور Operator Overloading

  • کد نمایشی بارگذاری بیش از حد اپراتور Operator Overloading Demo Code

  • بارگذاری بیش از حد اپراتور - قسمت اول (اصول) Operator Overloading - Part I (Basics)

  • بارگذاری بیش از حد اپراتور - قسمت دوم (اپراتور واگذاری) Operator Overloading - Part II (Assignment Operator)

  • بارگذاری بیش از حد اپراتور - قسمت سوم (سربارگذاری های جهانی) Operator Overloading - Part III (Global Overloads)

  • بارگذاری بیش از حد اپراتور - قسمت چهارم (کلید کلیدی دوست) Operator Overloading - Part IV (Friend Keyword)

  • بارگذاری بیش از حد اپراتور - قسمت پنجم (مبانی اشاره گر هوشمند) Operator Overloading - Part V (Smart Pointer Basics)

  • بارگذاری بیش از حد اپراتور - قسمت ششم (اشاره‌گرهای هوشمند در C++11) Operator Overloading - Part VI (Smart Pointers in C++11)

  • بارگذاری بیش از حد اپراتور - قسمت VII (قوانین) Operator Overloading - Part VII (Rules)

  • تبدیل نوع - قسمت اول (اصول) Type Conversions - Part I (Basics)

  • تبدیل نوع - قسمت دوم (نوع اولیه به کاربر) Type Conversions - Part II (Primitive to User Type)

  • تبدیل نوع - قسمت III (کاربر به نوع اولیه) Type Conversions - Part III (User to Primitive Type)

  • تبدیل نوع - قسمت چهارم (تعریف شده توسط کاربر به تعریف شده توسط کاربر) Type Conversions - Part IV (User Defined to User Defined)

  • مقداردهی اولیه در مقابل فهرست اولیه واگذاری و اعضا Initialization Vs. Assignment & Member Initialization List

  • امتحان Quiz

مدیریت حافظه - قسمت دوم Memory Management - Part II

  • اشاره گرهای خام Raw Pointers

  • std::unique_ptr std::unique_ptr

  • اشاره گر به اشتراک گذاری Sharing Pointers

  • اشتراک گذاری std::unique_ptr Sharing std::unique_ptr

  • std::shared_ptr std::shared_ptr

  • مالکیت ضعیف Weak Ownership

  • std::weak_ptr موارد داخلی std::weak_ptr Internals

  • مراجع دایره ای Circular References

  • حذف کننده Deleter

  • آرایه های پویا Dynamic Arrays

  • ایجاد توابع Make Functions

مدیریت حافظه - قسمت دوم Memory Management - Part II

  • اشاره گرهای خام Raw Pointers

  • std::unique_ptr std::unique_ptr

  • اشاره گر به اشتراک گذاری Sharing Pointers

  • اشتراک گذاری std::unique_ptr Sharing std::unique_ptr

  • std::shared_ptr std::shared_ptr

  • مالکیت ضعیف Weak Ownership

  • std::weak_ptr موارد داخلی std::weak_ptr Internals

  • مراجع دایره ای Circular References

  • حذف کننده Deleter

  • آرایه های پویا Dynamic Arrays

  • ایجاد توابع Make Functions

چیزهای بیشتر C++ More C++ Goodies

  • Enums - بخش اول (مبانی) Enums - Part I (Basics)

  • Enums - قسمت II (Scoped Enums C++11) Enums - Part II (Scoped Enums C++11)

  • رشته ها - قسمت اول (رشته های خام) Strings - Part I (Raw Strings)

  • رشته ها - قسمت دوم (std::string) Strings - Part II (std::string)

  • تکلیف I Assignment I

  • رشته ها - قسمت سوم (جریان های رشته ای) Strings - Part III (String Streams)

  • تکلیف II Assignment II

  • حروف تعریف شده توسط کاربر User-Defined Literals

  • عبارات ثابت - constexpr (C++11) Constant Expressions - constexpr (C++11)

  • std::initializer_list (C++11) std::initializer_list (C++11)

  • آرایه پویا (std::vector) Dynamic Array (std::vector)

  • تکلیف III Assignment III

  • اتحادیه - من Union - I

  • اتحادیه - II Union - II

  • امتحان Quiz

چیزهای بیشتر C++ More C++ Goodies

  • Enums - بخش اول (مبانی) Enums - Part I (Basics)

  • Enums - قسمت II (Scoped Enums C++11) Enums - Part II (Scoped Enums C++11)

  • رشته ها - قسمت اول (رشته های خام) Strings - Part I (Raw Strings)

  • رشته ها - قسمت دوم (std::string) Strings - Part II (std::string)

  • تکلیف I Assignment I

  • رشته ها - قسمت سوم (جریان های رشته ای) Strings - Part III (String Streams)

  • تکلیف II Assignment II

  • حروف تعریف شده توسط کاربر User-Defined Literals

  • عبارات ثابت - constexpr (C++11) Constant Expressions - constexpr (C++11)

  • std::initializer_list (C++11) std::initializer_list (C++11)

  • آرایه پویا (std::vector) Dynamic Array (std::vector)

  • تکلیف III Assignment III

  • اتحادیه - من Union - I

  • اتحادیه - II Union - II

  • امتحان Quiz

برنامه نویسی شی گرا Object Oriented Programming

  • کد منبع سلسله مراتب حساب Account Hierarchy Source Code

  • ارث و ترکیب Inheritance & Composition

  • وراثت و اصلاح کننده دسترسی Inheritance & Access Modifiers

  • پروژه - I (مقدمه) Project - I (Introduction)

  • پروژه - II (کلاس حساب و پس انداز) Project - II (Account & Savings Class)

  • وظیفه Assignment

  • پروژه - III (C++11 Inheriting Constructors) Project - III (C++11 Inheriting Constructors)

  • پروژه - چهارم (کلید کلیدی مجازی) Project - IV (Virtual Keyword)

  • امتحان I Quiz I

  • Project -V (مکانیسم مجازی داخلی - I) Project -V (Virtual Mechanism Internals - I)

  • Project -VI (مکانیسم مجازی داخلی - II) Project -VI (Virtual Mechanism Internals - II)

  • پروژه - قسمت هشتم (نسخ و مشخص کننده نهایی در C++11) Project - Part VIII (override & final specifier in C++11)

  • پروژه - هشتم (برش اشیاء) Project - VIII (Object Slicing)

  • پروژه - IX (اپراتور typeid) Project - IX (typeid Operator)

  • پروژه - قسمت X (اپراتور dynamic_cast) Project - Part X (dynamic_cast Operator)

  • کلاس چکیده Abstract Class

  • ارث چندگانه (الماس). Multiple (Diamond) Inheritance

  • مسابقه دوم Quiz II

برنامه نویسی شی گرا Object Oriented Programming

  • کد منبع سلسله مراتب حساب Account Hierarchy Source Code

  • ارث و ترکیب Inheritance & Composition

  • وراثت و اصلاح کننده دسترسی Inheritance & Access Modifiers

  • پروژه - I (مقدمه) Project - I (Introduction)

  • پروژه - II (کلاس حساب و پس انداز) Project - II (Account & Savings Class)

  • وظیفه Assignment

  • پروژه - III (C++11 Inheriting Constructors) Project - III (C++11 Inheriting Constructors)

  • پروژه - چهارم (کلید کلیدی مجازی) Project - IV (Virtual Keyword)

  • امتحان I Quiz I

  • Project -V (مکانیسم مجازی داخلی - I) Project -V (Virtual Mechanism Internals - I)

  • Project -VI (مکانیسم مجازی داخلی - II) Project -VI (Virtual Mechanism Internals - II)

  • پروژه - قسمت هشتم (نسخ و مشخص کننده نهایی در C++11) Project - Part VIII (override & final specifier in C++11)

  • پروژه - هشتم (برش اشیاء) Project - VIII (Object Slicing)

  • پروژه - IX (اپراتور typeid) Project - IX (typeid Operator)

  • پروژه - قسمت X (اپراتور dynamic_cast) Project - Part X (dynamic_cast Operator)

  • کلاس چکیده Abstract Class

  • ارث چندگانه (الماس). Multiple (Diamond) Inheritance

  • مسابقه دوم Quiz II

رسیدگی به استثنا Exception Handling

  • رسیدگی به استثنا - قسمت اول (اصول) Exception Handling - Part I (Basics)

  • رسیدگی به استثنا - قسمت دوم (چند بلوک گیر) Exception Handling - Part II (Multiple Catch Blocks)

  • مدیریت استثنا - قسمت سوم (باز کردن پشته) Exception Handling - Part III (Stack Unwinding)

  • مدیریت استثنا - قسمت چهارم (استثناهای تودرتو) Exception Handling - Part IV (Nested Exceptions)

  • کنترل استثنایی - قسمت پنجم (سازنده و ویرانگر) Exception Handling - Part V (Constructor & Destructor)

  • رسیدگی به استثنا - قسمت ششم - (بدون کلمه کلیدی در C++11) Exception Handling - Part VI - (noexcept keyword in C++11)

  • امتحان Quiz

رسیدگی به استثنا Exception Handling

  • رسیدگی به استثنا - قسمت اول (اصول) Exception Handling - Part I (Basics)

  • رسیدگی به استثنا - قسمت دوم (چند بلوک گیر) Exception Handling - Part II (Multiple Catch Blocks)

  • مدیریت استثنا - قسمت سوم (باز کردن پشته) Exception Handling - Part III (Stack Unwinding)

  • مدیریت استثنا - قسمت چهارم (استثناهای تودرتو) Exception Handling - Part IV (Nested Exceptions)

  • کنترل استثنایی - قسمت پنجم (سازنده و ویرانگر) Exception Handling - Part V (Constructor & Destructor)

  • رسیدگی به استثنا - قسمت ششم - (بدون کلمه کلیدی در C++11) Exception Handling - Part VI - (noexcept keyword in C++11)

  • امتحان Quiz

ورودی و خروجی فایل File Input & Output

  • رشته های خام (C++11) Raw String Literals (C++11)

  • مقدمه ای بر کتابخانه سیستم فایل (C++17) (منسوخ شده) Introduction to Filesystem Library (C++17) (DEPRECATED)

  • فایل IO - قسمت اول (مبانی) File IO - Part I (Basics)

  • File IO - Part II (Error Handling) File IO - Part II (Error Handling)

  • File IO - Part III (Copy Utility) File IO - Part III (Copy Utility)

  • فایل IO - قسمت چهارم (شخصیت IO و جستجو) File IO - Part IV (Character IO & Seeking)

  • فایل IO - قسمت V (باینری IO) File IO - Part V (Binary IO)

  • تکلیف I Assignment I

  • تکلیف II Assignment II

  • منبع ابزار کپی فایل File Copy Utility Source

  • IO فایل File IO

ورودی و خروجی فایل File Input & Output

  • رشته های خام (C++11) Raw String Literals (C++11)

  • مقدمه ای بر کتابخانه سیستم فایل (C++17) (منسوخ شده) Introduction to Filesystem Library (C++17) (DEPRECATED)

  • فایل IO - قسمت اول (مبانی) File IO - Part I (Basics)

  • File IO - Part II (Error Handling) File IO - Part II (Error Handling)

  • File IO - Part III (Copy Utility) File IO - Part III (Copy Utility)

  • فایل IO - قسمت چهارم (شخصیت IO و جستجو) File IO - Part IV (Character IO & Seeking)

  • فایل IO - قسمت V (باینری IO) File IO - Part V (Binary IO)

  • تکلیف I Assignment I

  • تکلیف II Assignment II

  • منبع ابزار کپی فایل File Copy Utility Source

  • IO فایل File IO

قالب ها Templates

  • کد منبع Source Code

  • مقدمه ای بر قالب ها Introduction to Templates

  • تکلیف I Assignment I

  • کسر و نمونه سازی استدلال الگو Template Argument Deduction & Instantiation

  • تکلیف II Assignment II

  • تخصص صریح Explicit Specialization

  • آرگومان های قالب غیر نوع Non-type Template Arguments

  • تکلیف III Assignment III

  • ارسال کامل - قسمت اول (C++11) Perfect Forwarding - Part I (C++11)

  • ارسال کامل - قسمت دوم (C++11) Perfect Forwarding - Part II (C++11)

  • الگوهای Variadic - قسمت اول (C++11) Variadic Templates - Part I (C++11)

  • الگوهای Variadic - قسمت دوم (C++11) Variadic Templates - Part II (C++11)

  • تکلیف IV Assignment IV

  • الگوهای کلاس Class Templates

  • Class Template Explicit Specialization - قسمت اول Class Template Explicit Specialization - Part I

  • Class Template Explicit Specialization - قسمت دوم Class Template Explicit Specialization - Part II

  • تکلیف V Assignment V

  • قالب کلاس تخصصی جزئی Class Template Partial Specialization

  • قالب های Typedef، نوع مستعار و مستعار (C++11) Typedef, Type Alias & Alias Templates (C++11)

  • صفات نوع (C++11) Type Traits (C++11)

  • static_assert (C++11) static_assert (C++11)

  • قالب ها Templates

قالب ها Templates

  • کد منبع Source Code

  • مقدمه ای بر قالب ها Introduction to Templates

  • تکلیف I Assignment I

  • کسر و نمونه سازی استدلال الگو Template Argument Deduction & Instantiation

  • تکلیف II Assignment II

  • تخصص صریح Explicit Specialization

  • آرگومان های قالب غیر نوع Non-type Template Arguments

  • تکلیف III Assignment III

  • ارسال کامل - قسمت اول (C++11) Perfect Forwarding - Part I (C++11)

  • ارسال کامل - قسمت دوم (C++11) Perfect Forwarding - Part II (C++11)

  • الگوهای Variadic - قسمت اول (C++11) Variadic Templates - Part I (C++11)

  • الگوهای Variadic - قسمت دوم (C++11) Variadic Templates - Part II (C++11)

  • تکلیف IV Assignment IV

  • الگوهای کلاس Class Templates

  • Class Template Explicit Specialization - قسمت اول Class Template Explicit Specialization - Part I

  • Class Template Explicit Specialization - قسمت دوم Class Template Explicit Specialization - Part II

  • تکلیف V Assignment V

  • قالب کلاس تخصصی جزئی Class Template Partial Specialization

  • قالب های Typedef، نوع مستعار و مستعار (C++11) Typedef, Type Alias & Alias Templates (C++11)

  • صفات نوع (C++11) Type Traits (C++11)

  • static_assert (C++11) static_assert (C++11)

  • قالب ها Templates

عبارات لامبدا (C++11) Lambda Expressions (C++11)

  • کد منبع عبارات لامبدا Lambda Expressions Source Code

  • بازخوانی مجدد - نشانگرهای تابع Callbacks Revisited - Function Pointers

  • پاسخ به تماس - اشیاء تابع Callbacks - Function Objects

  • عبارات لامبدا Lambda Expressions

  • عبارات لامبدا - موارد داخلی Lambda Expressions - Internals

  • فهرست ضبط عبارات لامبدا - قسمت اول Lambda Expressions Capture List - Part I

  • فهرست ضبط عبارات لامبدا - قسمت دوم Lambda Expressions Capture List - Part II

  • فهرست ضبط عبارات لامبدا - قسمت سوم Lambda Expressions Capture List - Part III

  • ضبط عمومی لامبدا Generalized Lambda Capture

  • وظیفه Assignment

  • امتحان Quiz

عبارات لامبدا (C++11) Lambda Expressions (C++11)

  • کد منبع عبارات لامبدا Lambda Expressions Source Code

  • بازخوانی مجدد - نشانگرهای تابع Callbacks Revisited - Function Pointers

  • پاسخ به تماس - اشیاء تابع Callbacks - Function Objects

  • عبارات لامبدا Lambda Expressions

  • عبارات لامبدا - موارد داخلی Lambda Expressions - Internals

  • فهرست ضبط عبارات لامبدا - قسمت اول Lambda Expressions Capture List - Part I

  • فهرست ضبط عبارات لامبدا - قسمت دوم Lambda Expressions Capture List - Part II

  • فهرست ضبط عبارات لامبدا - قسمت سوم Lambda Expressions Capture List - Part III

  • ضبط عمومی لامبدا Generalized Lambda Capture

  • وظیفه Assignment

  • امتحان Quiz

کتابخانه قالب استاندارد Standard Template Library

  • معرفی Introduction

  • std:: آرایه (C++11) std::array (C++11)

  • std:: vector std::vector

  • std::deque std::deque

  • std::list و std::forward_list (C++11) std::list & std::forward_list (C++11)

  • کد نمایشی ظروف دنباله Sequence Containers Demo Code

  • std::set & std::multiset std::set & std::multiset

  • std::map & std::multimap std::map & std::multimap

  • کد آزمایشی کانتینرهای انجمنی Associative Containers Demo Code

  • ظروف نامرتب (C++11) - I Unordered Containers (C++11) - I

  • ظروف نامرتب (C++11) - II Unordered Containers (C++11) - II

  • std::hash (C++11) std::hash (C++11)

  • کد نمایشی کانتینرهای نامرتب Unordered Containers Demo Code

  • علامت گذاری بزرگ O و عملکرد کانتینرها Big O Notation & Performance of Containers

  • الگوریتم ها - قسمت اول Algorithms - Part I

  • الگوریتم ها - قسمت دوم Algorithms - Part II

  • تغییرات کانتینر در C++11 - I Container Changes in C++11 - I

  • تغییرات کانتینر در C++11 - II Container Changes in C++11 - II

  • تغییرات کانتینر در C++11 - III Container Changes in C++11 - III

  • تغییرات کانتینر در C++11 - IV Container Changes in C++11 - IV

  • تغییرات کانتینر در C++11 - V Container Changes in C++11 - V

  • پروژه STL STL Project

  • امتحان Quiz

کتابخانه قالب استاندارد Standard Template Library

  • معرفی Introduction

  • std:: آرایه (C++11) std::array (C++11)

  • std:: vector std::vector

  • std::deque std::deque

  • std::list و std::forward_list (C++11) std::list & std::forward_list (C++11)

  • کد نمایشی ظروف دنباله Sequence Containers Demo Code

  • std::set & std::multiset std::set & std::multiset

  • std::map & std::multimap std::map & std::multimap

  • کد آزمایشی کانتینرهای انجمنی Associative Containers Demo Code

  • ظروف نامرتب (C++11) - I Unordered Containers (C++11) - I

  • ظروف نامرتب (C++11) - II Unordered Containers (C++11) - II

  • std::hash (C++11) std::hash (C++11)

  • کد نمایشی کانتینرهای نامرتب Unordered Containers Demo Code

  • علامت گذاری بزرگ O و عملکرد کانتینرها Big O Notation & Performance of Containers

  • الگوریتم ها - قسمت اول Algorithms - Part I

  • الگوریتم ها - قسمت دوم Algorithms - Part II

  • تغییرات کانتینر در C++11 - I Container Changes in C++11 - I

  • تغییرات کانتینر در C++11 - II Container Changes in C++11 - II

  • تغییرات کانتینر در C++11 - III Container Changes in C++11 - III

  • تغییرات کانتینر در C++11 - IV Container Changes in C++11 - IV

  • تغییرات کانتینر در C++11 - V Container Changes in C++11 - V

  • پروژه STL STL Project

  • امتحان Quiz

C++ Concurrency C++ Concurrency

  • کد منبع همزمانی Concurrency Source Code

  • مبانی همزمانی Concurrency Basics

  • ایجاد موضوع (std::thread) Thread Creation (std::thread)

  • انتقال آرگومان ها به رشته ها Passing Arguments To Threads

  • همگام سازی موضوع (std::mutex) Thread Synchronization (std::mutex)

  • std::lock_guard std::lock_guard

  • std::thread توابع و std::this_thread فضای نام std::thread Functions & std::this_thread Namespace

  • همزمانی مبتنی بر وظیفه - قسمت اول Task Based Concurrency - Part I

  • همزمانی مبتنی بر وظیفه - قسمت دوم Task Based Concurrency - Part II

  • راه اندازی سیاست ها Launch Policies

  • std:: توابع انتظار آینده std::future Wait Functions

  • استفاده از std::promise Using std::promise

  • انتشار استثناها در سراسر رشته ها Propagating Exceptions Across Threads

C++ Concurrency C++ Concurrency

  • کد منبع همزمانی Concurrency Source Code

  • مبانی همزمانی Concurrency Basics

  • ایجاد موضوع (std::thread) Thread Creation (std::thread)

  • انتقال آرگومان ها به رشته ها Passing Arguments To Threads

  • همگام سازی موضوع (std::mutex) Thread Synchronization (std::mutex)

  • std::lock_guard std::lock_guard

  • std::thread توابع و std::this_thread فضای نام std::thread Functions & std::this_thread Namespace

  • همزمانی مبتنی بر وظیفه - قسمت اول Task Based Concurrency - Part I

  • همزمانی مبتنی بر وظیفه - قسمت دوم Task Based Concurrency - Part II

  • راه اندازی سیاست ها Launch Policies

  • std:: توابع انتظار آینده std::future Wait Functions

  • استفاده از std::promise Using std::promise

  • انتشار استثناها در سراسر رشته ها Propagating Exceptions Across Threads

ویژگی های زبان اصلی C++17 C++17 Core Language Features

  • اطلاعات کد منبع Source Code Information

  • ویژگی های منسوخ و حذف شده Deprecated & Removed Features

  • تغییرات Changes

  • ویژگی های Attributes

  • ماکروهای تست ویژگی Feature Test Macros

  • اگر & سوئیچ با مقداردهی اولیه If & switch With Initialization

  • متغیرهای درون خطی inline Variables

  • فضاهای نام تو در تو Nested Namespaces

  • غیر از noexcept

  • Constexpr Lambda constexpr Lambda

  • اتصالات ساختاریافته Structured Bindings

  • دستور ارزیابی بیان Expression Evaluation Order

  • کپی اجباری Elision - I Mandatory Copy Elision - I

  • کپی اجباری Elision - II Mandatory Copy Elision - II

ویژگی های زبان اصلی C++17 C++17 Core Language Features

  • اطلاعات کد منبع Source Code Information

  • ویژگی های منسوخ و حذف شده Deprecated & Removed Features

  • تغییرات Changes

  • ویژگی های Attributes

  • ماکروهای تست ویژگی Feature Test Macros

  • اگر & سوئیچ با مقداردهی اولیه If & switch With Initialization

  • متغیرهای درون خطی inline Variables

  • فضاهای نام تو در تو Nested Namespaces

  • غیر از noexcept

  • Constexpr Lambda constexpr Lambda

  • اتصالات ساختاریافته Structured Bindings

  • دستور ارزیابی بیان Expression Evaluation Order

  • کپی اجباری Elision - I Mandatory Copy Elision - I

  • کپی اجباری Elision - II Mandatory Copy Elision - II

ویژگی های قالب C++17 C++17 Template Features

  • کسر استدلال الگوی کلاس (CTAD) Class Template Argument Deduction (CTAD)

  • اصول تاشو Folding Basics

  • Fold Expressions - Unary Folds Fold Expressions - Unary Folds

  • عبارات فولد - فولدهای باینری Fold Expressions - Binary Folds

  • Fold Expressions - Recap Fold Expressions - Recap

  • پسوندهای صفات را تایپ کنید Type Traits Suffixes

  • if constexpr - I if constexpr - I

  • if constexpr - II if constexpr - II

ویژگی های قالب C++17 C++17 Template Features

  • کسر استدلال الگوی کلاس (CTAD) Class Template Argument Deduction (CTAD)

  • اصول تاشو Folding Basics

  • Fold Expressions - Unary Folds Fold Expressions - Unary Folds

  • عبارات فولد - فولدهای باینری Fold Expressions - Binary Folds

  • Fold Expressions - Recap Fold Expressions - Recap

  • پسوندهای صفات را تایپ کنید Type Traits Suffixes

  • if constexpr - I if constexpr - I

  • if constexpr - II if constexpr - II

C++17 مؤلفه های استاندارد کتابخانه C++17 Standard Library Components

  • std:: اختیاری - I std::optional - I

  • std:: اختیاری - II std::optional - II

  • std:: اختیاری - III std::optional - III

  • std::variant - I std::variant - I

  • std::variant - II std::variant - II

  • std::variant - III std::variant - III

  • std::any std::any

  • std::string_view - I std::string_view - I

  • std::string_view - II std::string_view - II

  • فایل سیستم - مسیر Filesystem - path

  • سیستم فایل - directory_entry Filesystem - directory_entry

  • فایل سیستم - توابع دایرکتوری Filesystem - Directory Functions

  • سیستم فایل - مجوزها Filesystem - Permissions

  • الگوریتم های موازی - I Parallel Algorithms - I

  • الگوریتم های موازی - II Parallel Algorithms - II

  • الگوریتم های موازی - III Parallel Algorithms - III

  • سخنرانی جایزه BONUS LECTURE

C++17 مؤلفه های استاندارد کتابخانه C++17 Standard Library Components

  • std:: اختیاری - I std::optional - I

  • std:: اختیاری - II std::optional - II

  • std:: اختیاری - III std::optional - III

  • std::variant - I std::variant - I

  • std::variant - II std::variant - II

  • std::variant - III std::variant - III

  • std::any std::any

  • std::string_view - I std::string_view - I

  • std::string_view - II std::string_view - II

  • فایل سیستم - مسیر Filesystem - path

  • سیستم فایل - directory_entry Filesystem - directory_entry

  • فایل سیستم - توابع دایرکتوری Filesystem - Directory Functions

  • سیستم فایل - مجوزها Filesystem - Permissions

  • الگوریتم های موازی - I Parallel Algorithms - I

  • الگوریتم های موازی - II Parallel Algorithms - II

  • الگوریتم های موازی - III Parallel Algorithms - III

  • سخنرانی جایزه BONUS LECTURE

نمایش نظرات

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

آموزش C++ مدرن کامل (C++11/14/17)
خرید اشتراک و دانلود خرید تکی و دانلود | 320,000 تومان (5 روز مهلت دانلود) در صورت خرید اشتراک، این آموزش بدلیل حجم بالا معادل 2 دوره است و 2 دوره از اشتراک شما کم می شود. زمان تقریبی آماده سازی لینک دانلود این دوره آموزشی حدود 5 تا 24 ساعت می باشد.
جزییات دوره
20 hours
233
Udemy (یودمی) udemy-small
16 بهمن 1401 (آخرین آپدیت رو دریافت می‌کنید، حتی اگر این تاریخ بروز نباشد.)
27,032
4.5 از 5
دارد
دارد
دارد
Umar Lone

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Umar Lone Umar Lone

مربی ، توسعه دهنده و بنیانگذار مهندس Poash TechnologiesCivil که خواست خود را در توسعه نرم افزار یافت. هرگز به عنوان مهندس عمران کار نکرده ، در اولین فرصت پرش کرده و از 15 سال پیش تدریس C ++ و Visual C ++ را شروع کردم. در حال حاضر ، متخصصان نرم افزار را در شرکت های مختلف نرم افزاری در فن آوری های مختلف مانند Modern C ++ ، Advanced C ++ ، STL ، Design Patterns ، Android ، Unity ، Linux و ... آموزش می دهد. بسیار علاقه مند به تدریس است و بیش از 20،000 متخصص نرم افزار را در حرفه تدریس آموزش داده است بیش از 17 سال طول می کشد. یک گیمر مشتاق ، در حال حاضر تلاش خود را برای توسعه بازی در Unity & Unreal انجام می دهد. چند برنامه اندرویدی به اعتبار خود دارد ، از جمله یکی در Design Patterns. تنها چیزی که او بیش از C ++ دوست دارد ، C ++ مدرن است.

Udemy (یودمی)

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

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