آموزش اصول ++C 23 با پروژه ها و الگوریتم ها - آخرین آپدیت

دانلود C++23 Fundamentals with Projects & Algorithms

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:

آموزش جامع C++ مدرن با پروژه‌های عملی و ابزارهای حرفه‌ای

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

برخلاف دوره‌هایی که بر روی قطعه‌کدهای کوچک و مستقل تمرکز دارند، این دوره از ابتدا شما را در توسعه واقعی نرم‌افزار غرق می‌کند. شما پروژه‌های ساختاریافته را با استفاده از ابزارهای استاندارد صنعت مانند CMake مدرن، vcpkg و کتابخانه‌های شخص ثالث خواهید ساخت. اینها همان ابزارهایی هستند که توسط توسعه‌دهندگان حرفه‌ای C++ استفاده می‌شوند.

آنچه خواهید آموخت:

  • مبانی C++ - نیازی به دانش قبلی C++ نیست. فقط کنجکاوی و اشتیاق به یادگیری داشته باشید!
  • استانداردهای C++: C++11، C++14، C++20 و C++23 - بر آخرین ویژگی‌ها مسلط شوید و در عین حال اطمینان حاصل کنید که می‌توانید با پایگاه‌های کد قدیمی کار کرده و آنها را بهبود بخشید.
  • پروژه‌های ساختاریافته، نه فقط مثال‌های ساده - یاد بگیرید که کد را در فایل‌های متعدد سازماندهی کنید و پروژه‌ها را مانند محیط‌های توسعه واقعی بسازید.
  • ابزارهای استاندارد صنعت - تجربه عملی با CMake مدرن، vcpkg و کتابخانه‌های خارجی برای توسعه برنامه‌های کاربردی مقیاس‌پذیر به دست آورید.
  • الگوریتم‌ها و ساختارهای داده - مهارت‌های حل مسئله خود را با مفاهیم کلیدی الگوریتمی تقویت کنید.
  • اشکال‌زدایی و محاسبات زمان کامپایل - C++ کارآمد و سازگار با زمان کامپایل بنویسید و یاد بگیرید که چگونه مشکلات را عیب‌یابی کنید.
  • ورودی/خروجی فایل، توسعه رابط کاربری گرافیکی و موارد دیگر - با فایل‌ها کار کنید، رابط‌های کاربری ایجاد کنید و موضوعات پیشرفته C++ را کشف کنید. با std::filesystem و جریان‌ها، مدیریت فایل در C++ مدرن را انجام دهید.
  • ساخت برنامه‌های GUI - با استفاده از کتابخانه‌هایی مانند SFML و ftxui برنامه‌های گرافیکی ایجاد کنید.
  • مدیریت حافظه - RAII، اشاره‌گرهای هوشمند و تکنیک‌های مدرن مدیریت حافظه را درک کنید.
  • کار با ظروف - از ظروف STL به طور موثر استفاده کنید و بهترین موارد استفاده آنها را درک کنید.
  • نوشتن کد ماژولار - پروژه‌های مقیاس‌پذیر را با ماژول‌های C++20 و بهترین شیوه‌های طراحی بسازید.
  • بهینه‌سازی عملکرد - با استفاده از اشاره‌گرهای هوشمند، محاسبات زمان کامپایل، معناشناسی جابجایی و الگوریتم‌های کارآمد، C++ با عملکرد بالا بنویسید.

این دوره توسط مدرس مسترکلاس محبوب C++20 ساخته شده است و مسائل را حتی بیشتر پیش می‌برد و شما را به نحوه استفاده واقعی از C++ در عمل نزدیک‌تر می‌کند. چه در C++ تازه کار باشید و چه به دنبال مدرن کردن مهارت‌های خود هستید، این دوره شما را به ابزارها و ذهنیت مناسب برای توسعه واقعی نرم‌افزار مجهز می‌کند.

پیش‌نیازها:

  • یک کامپیوتر با دسترسی به اینترنت. شما باید ابزارهایی مانند CMake، یک کامپایلر و vcpkg را دانلود کنید.
  • دانش اولیه برنامه‌نویسی (اختیاری). آشنایی با هر زبان برنامه‌نویسی کمک می‌کند اما ضروری نیست.
  • تمایل قوی به یادگیری. C++ می‌تواند چالش برانگیز باشد، اما با فداکاری، آن را تسلط خواهید یافت!

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

مقدمه Introduction

  • خوش آمدید Welcome

  • حداکثر استفاده را ببرید Get The Most

  • آنچه به دست خواهید آورد What You Will Achieve

  • فایل های دوره Course Files

راه اندازی محیط Environment Setup

  • نمای کلی راه اندازی Setup Birds Eye View

  • راه اندازی ویندوز Windows Setup

  • راه اندازی لینوکس Linux Setup

  • راه اندازی مک Mac Setup

  • داکر Docker

  • Compiler Explorer (وب) Compiler Explorer(Web)

  • درک ابزارها و فایل ها: C++، CMake، vcpkg، VS Code و Ninja Understanding the Tools and Files: C++, CMake, vcpkg, VS Code and Ninja

  • استفاده از Git: اختیاری اما مهم! Using Git: Optional but IMPORTANT!

  • استفاده از Visual Studio IDE در ویندوز [اختیاری] Using the Visual Studio IDE on Windows [OPTIONAL]

  • محیط شما Your Environment

اولین گام ها First Steps

  • اولین برنامه ++C: اصول اولیه First C++ Program: The Basics

  • راه اندازی پروژه و ماژول ها Project Setup and Modules

  • مدل اجرای برنامه ++C C++ Program Execution Model

  • آزمایش مدل اجرا Execution model put to test

  • چالش: SFML GUI Challenge: SFML GUI

  • کاوش: ساخت با CMake به صورت دستی در ترمینال Explore: Building with CMake Manually on the Terminal

  • کاوش: ساخت با CMake Presets به صورت دستی در ترمینال Explore: Building with CMake Presets Manually on the Terminal

  • پروژه CMake + Vcpkg: بیایید بفهمیم چه می دانید. CMake + Vcpkg Project: Let's find out what you know.

متغیرها، انواع داده و عملیات اساسی Variables, Data Types and Basic Operations

  • متغیرها و انواع داده قسمت 1 Varibles and Data Types Part 1

  • متغیرها و انواع داده قسمت 2 Variables and Data Types Part 2

  • متغیرها و انواع داده Variables and Data Types

  • سیستم های عددی: آنها را درست دریافت کنید Number Systems: Get Them Right

  • اصلاح کننده های عدد صحیح، کاراکترها، متن و Auto قسمت 1 Integer Modifiers, Characters, Text and Auto part 1

  • اصلاح کننده های عدد صحیح، کاراکترها، متن و Auto قسمت 2 Integer Modifiers, Characters, Text and Auto part 2

  • اصلاح کننده های عدد صحیح، کاراکترها، متن و Auto قسمت 3 Integer Modifiers, Characters, Text and Auto part 3

  • اصلاح کننده های عدد صحیح، کاراکترها، متن و Auto قسمت 4 Integer Modifiers, Characters, Text and Auto part 4

  • اصلاح کننده های عدد صحیح، کاراکترها، متن و auto Integer Modifiers, Characters, Text and auto

  • مقدار دهی اولیه کاراکترها Initializing Characters

  • چراغ راهنمایی Traffic Lights

  • عملیات، توابع ریاضی و اعداد صحیح عجیب و غریب قسمت 1 Operations, Math Functions and Weird Integers part 1

  • عملیات، توابع ریاضی و اعداد صحیح عجیب و غریب قسمت 2 Operations, Math Functions and Weird Integers part 2

  • عملیات، توابع ریاضی و اعداد صحیح عجیب و غریب قسمت 3 Operations, Math Functions and Weird Integers part 3

  • عملیات Operations

  • مجموع ارقام Digits Sum

  • اعداد فرد و زوج Odds and Evens

  • فاصله ها Distances

  • عملگرهای بیتی قسمت 1 Bitwise Operators part 1

  • عملگرهای بیتی قسمت 2 Bitwise Operators part 2

  • عملگرهای بیتی Bitwise Operators

  • اعداد فرد و زوج با عملگرهای بیتی Odds and Evens with Bitwise Operators

  • تغییر وضعیت بیت ها Toggling Bits

  • مثال های عملگرهای بیتی Bitwise Operators Examples

  • چالش Challenge

جریان ها، قالب بندی، لفظی ها و ثابت ها Streams, Formatting, Litterals and Constants

  • ورودی خروجی و قالب بندی جریان (std::cout) Input Output and Stream Formatting (std::cout)

  • ورودی و خروجی جریان ها به آزمون گذاشته می شوند Input and Output Streams Put to Test

  • تبدیل سیستم های عددی Convert Number Systems

  • کتابخانه قالب (C++20) The format library (C++20)

  • کتابخانه قالب Format Library

  • لفظی ها Litterals

  • ثابت ها Constants

  • متغیرهای Constexpr Constexpr Variables

  • توابع Constexpr Constexpr Functions

  • توان های 2 Powers of 2

  • توابع Consteval Consteval Functions

  • Constinit Constinit

  • بازگشت به شما Back to You

  • چالش Challenge

کنترل جریان Flow Control

  • If، Switch و عملگر سه تایی If, Switch and the Ternary Operator

  • تصمیمات Decisions

  • رمزهای عبور و مبارزه عنصر! Passwords and Element Fight!

  • حلقه ها Loops

  • چرخیدن به دور Circling Around

  • بزرگترین ها و مضرب های 7 Biggests and Multiples of 7

  • چالش Challenge

دنباله ها Sequences

  • std::array std::array

  • std::vector std::vector

  • دنباله ها Sequences

  • عملیات رایج بر روی دنباله ها Common Operations on Sequences

  • std::string std::string

  • آرایه های داخلی Built-in Arrays

  • آرایه های داخلی Built-in Arrays

  • اعداد تصادفی Random Numbers

  • فالگیر Fortune Teller

  • چالش شماره 1 Challenge #1

  • چالش شماره 2 Challenge #2

  • چالش شماره 3 Challenge #3

  • چالش شماره 4 Challenge #4

  • چالش شماره 5 Challenge #5

اشاره گرها، حافظه پویا و آرایه ها Pointers, Dynamic Memory and Arrays

  • مبانی اشاره گر Pointer Basics

  • اشاره گرها و Const Pointers and Const

  • اشاره گرها و آرایه ها Pointers and Arrays

  • محاسبات اشاره گر Pointer Arithmetic

  • بازبینی اشاره گرهای خام Raw Pointers Revisited

  • آرایه ها و اشاره گرهای خام Arrays and Raw Pointers

  • تخصیص حافظه پویا Dynamic Memory Allocation

  • تخصیص حافظه پویا (ادامه) Dynamic Memory Allocation (contd)

  • تخصیص حافظه پویا Dynamic Memory Allocation

  • اشاره گرهای هوشمند: اشاره گرهای منحصر به فرد Smart Pointers: Unique Pointers

  • اشاره گرهای هوشمند: اشاره گرهای مشترک Smart Pointers: Shared Pointers

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

  • مراجع References

  • چالش شماره 1 Challenge #1

  • چالش شماره 2 Challenge #2

کاراکترها و رشته ها Characters and Strings

  • کاراکترها و رشته های C Characters and C-Strings

  • سیستم مدیریت تماس Contact Management System

  • std::string و لفظی های رشته ای std::string and String Literals

  • ایمیل ها و رمزهای عبور Emails and Passwords

  • StringView StringView

  • چالش ها Challenges

  • بررسی کننده Palindrome با ftx_ui Palindrome Checker with ftx_ui

توابع Functions

  • مبانی تابع Function Basics

  • ارسال پارامترها Passing Parameters

  • معکوس کردن رشته ها به صورت تکراری Reverse Strings Iteratively

  • پارامترهای دنباله و آرایه Sequence and Array Parameters

  • توابع Constexpr و Consteval Constexpr and Consteval Functions

  • شمارش کلمات و یافتن طولانی ترین کلمه Counting Words and Finding the Longest Word

  • آرگومان ها به main Arguments to main

  • بارگذاری بیش از حد تابع Function Overloading

  • برنامه لیست کارها To-Do List Application

  • توابع Lambda Lambda Functions

  • ویژگی ها، متغیرهای استاتیک و بازگشت Attributes, Static Variables and Recursion

  • تولید کننده رمز عبور Password Generator

  • چالش شماره 1 Challenge #1

  • چالش شماره 2 Challenge #2

ورودی/خروجی فایل File I/O

  • نوشتن و خواندن فایل ها (متن/باینری) Writing and Reading Files (Text/Binary)

  • تمرین: نوشتن و خواندن CSV و JSON Practice: Writing and Reading CSV and JSON

  • ورودی/خروجی فایل به آزمون گذاشته می شود File I/O Put to Test

  • ذخیره داده های لیست کارها To-Do List Data Saved

  • چالش Challenge

انواع سفارشی Custom Types

  • کلاس ها و اشیاء: اصول اولیه Classes and Objects: The basics

  • جدا کردن رابط از پیاده سازی Separate the Interface From the Implementation

  • مستطیل ها Rectangles

  • پارامترهای شیء صریح C++23 و لیست های مقدار دهی اولیه C++23 Explicit Object Parameters and Initializer Lists

  • سازنده های کپی Copy Constructors

  • تفویض سازنده Constructor Delegation

  • کتاب ها Books

  • سازنده های صریح Explicit Constructors

  • عملگر تخصیص کپی Copy Assignment Operator

  • کپی های خام دایره Circle Raw Copies

  • ورودی/خروجی فایل: نوشتن و خواندن اشیاء File I/O: Writing and Reading Objects

  • مدیر کتاب Book Manager

  • دوستان Friends

  • تمرین: یک بوم و پیکسل های آن Practice: A Canvas and its Pixels

  • سبد خرید کوچک Mini Shopping Cart

  • معناشناسی انتقال Move Semantics

  • اعضای ویژه کلاس Special Class Members

  • کلاس های Constexpr و Consteval Constexpr and Consteval Classes

  • چالش شماره 1 Challenge #1

  • چالش شماره 2 Challenge #2

پروژه دوره: تتریس Course Project: Tetris

  • تترومینوها Tetrominoes

  • حرکت Movement

  • پیش نمایش قطعه بعدی Next Piece Preview

  • بازخورد پایان بازی، پاک کردن بلوک ها و امتیازات Game Over Feedback, Clearing blocks and Scores

  • بازسازی Re-Structuring

  • زیرشاخه ها Subdirs

نمایش نظرات

آموزش اصول ++C 23 با پروژه ها و الگوریتم ها
جزییات دوره
60.5 hours
104
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
814
4.7 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Daniel Gakwaya Daniel Gakwaya

مهندس نرم افزار در Blikoon Technologies