Quick, Easy, and Fun C++ for Beginners
Will Briggs

#C++
#C++26
#Programmers
#Beginners
#enum
#SDL
🧠 یادگیری C++26 به سبک “برنامهنویس تنبل”؛ آموزش جدی با رویکردی ساده، طنزآمیز و پروژهمحور
📘 کتاب C++26 for Lazy Programmers یک رویکرد متفاوت برای یادگیری C++ ارائه میده؛ جایی که بهجای روشهای خشک و سنگین آموزشی، از طنز، پروژههای سرگرمکننده و مسیر یادگیری تدریجی استفاده میشه تا یادگیری زبان C++ واقعاً قابلدوام و جذاب بشه.
🚀 هدف اصلی کتاب اینه که بدون فشار ذهنی زیاد، شما را به سطحی برسونه که بتونی پروژههای واقعی و حتی بازیهای گرافیکی بسازی.
⚙️ این کتاب علاوه بر آموزش اصول پایه، شما را با ویژگیهای جدید استاندارد C++26 هم آشنا میکنه؛ از جمله:
🧩 constexpr و static_assert برای محاسبات در زمان کامپایل
🧠 contracts برای افزایش اطمینان در کد
📊 ranges و views برای پردازش داده به سبک مدرن
🔄 move semantics برای مدیریت بهینه منابع
✍️ format strings برای خروجی استاندارد
🧱 smart pointers برای مدیریت حافظه
⚡ lambda functions و concepts برای طراحی تمیزتر
⏳ مقدمهای بر coroutines و lazy evaluation
🎮 یادگیری از طریق ساخت پروژههای واقعی
📌 یکی از ویژگیهای اصلی کتاب اینه که مفاهیم را از طریق ساخت پروژه یاد میگیری، نه فقط خواندن تئوری.
🎯 در طول مسیر حتی یک بازی آرکید کامل با C++ و SDL میسازی.
🕹️ با استفاده از کتابخانه SDL و wrapper سادهتر آن یعنی SSDL، وارد دنیای گرافیک و بازیسازی میشی.
🧩 در این کتاب چه چیزهایی یاد میگیری؟
🖥️ استفاده از کامپایلرهای واقعی مثل Visual Studio و g++
🧪 دیباگ کردن حرفهای و تکنیکهای anti-bugging
🎮 ساخت بازی و کار با گرافیک، صدا، ورودی موس و کیبورد
🔁 کار با loopها، شرطها و ساختارهای پایه
🧠 طراحی کلاسها، templateها و data structureها
📦 استفاده از STL و برنامهنویسی مدرن C++
📁 مدیریت فایل، Unicode (UTF-8) و دادهها
⚙️ ساخت پروژههای بزرگتر و واقعی
📚 فهرست مطالب
💡 چرا این کتاب متفاوت است؟
😂 برخلاف کتابهای کلاسیک C++ که سنگین و تئوری هستند، این کتاب با لحن سادهتر و حتی طنزآمیز طراحی شده تا اصطکاک یادگیری را کم کند.
🧠 تمرکز اصلی روی learning by doing هست؛ یعنی با ساختن پروژه، مفاهیم در ذهن تثبیت میشن.
🎮 ترکیب C++ مدرن + بازیسازی + پروژههای واقعی باعث میشه یادگیری هم کاربردی باشه هم جذاب.
📌 همچنین به جای فرار از پیچیدگی C++، آن را مرحلهبهمرحله و قابل مدیریت وارد مسیر یادگیری میکنه.
👨🏫 درباره نویسنده
🎓 «ویل بریگز» استاد علوم کامپیوتر در University of Lynchburg هست و بیش از ۳۰ سال تجربه تدریس C++ داره.
🧠 او علاوه بر C++، زبانهایی مثل C، JavaScript، LISP، PHP، Prolog و Python را هم تدریس کرده.
🤖 حوزه تحقیقاتی اصلی او هوش مصنوعی هست و تمرکز آموزشیاش روی سادهسازی مفاهیم پیچیده برای دانشجویان و یادگیرندههاست.
Ready to learn programming with less effort and more fun? Then do it the lazy way! C++26 for Lazy Programmers uses humor and fun to make you actually willing to read and eager to do the projects as you master the popular and powerful C++ language.
Along the way it introduces features from the new C++26 standard including increased support for compile-time computation with constexpr and static_assert, as well as contracts, and covers ranges, views, move semantics, format strings, smart pointers, lambda functions and concepts (template parameter requirements), and provides brief introductions to coroutines and lazy evaluation.
With this unique method, you’ll stretch your abilities with a variety of projects, including your own C++ arcade game. You'll construct your own classes, templates, and abstract data types. After reading and using this book you’ll be ready to build real-world C++ applications and game projects on your own.
What You Will Learn:
Who This Book Is For
All who are new to C++, either self-learners or students in college-level courses.
Table of Contents
Chapter 1: Getting Started
Chapter 2: Images and Sound
Chapter 3: Numbers
Chapter 4: Mouse and if
Chapter 5: Loops, Input, and char
Chapter 6: Algorithms and the Development Process
Chapter 7: Functions
Chapter 8: Functions, continued
Chapter 9: Using the Debugger
Chapter 10: Arrays, Spans, and enum
Chapter 11: Animation with structs and Sprites
Chapter 12: Making an Arcade Game: Input, Collisions, and Putting It All Together
Chapter 13: Standard 1/0 and File Operations
Chapter 14: Character Arrays and Dynamic Memory
Chapter 15: Classes
Chapter 16: Classes, continued
Chapter 17: Strings, and Operators
Chapter 18: String Views, Exceptions, Move Semantics, and O Notation
Chapter 19: Templates, Including vector
Chapter 20: Inheritance
Chapter 21: Virtual Functions and Multiple Inheritance
Chapter 22: Linked Lists
Chapter 23: The Standard Template Library and Functional- Style Programming
Chapter 24: Functional-Style Programming, continued
Chapter 25: Esoterica (Recommended)
Chapter 26: Esoterica (Recommended), Continued
Chapter 27: Esoterica (Not So Recommended)
Chapter 28: Building Bigger Projects
Chapter 29: C
Chapter 30: Moving on with SDL
About the Author
Will Briggs, PhD, is a professor of computer science at the University of Lynchburg in Virginia. He has 30 years' experience teaching C++, 18 of them using earlier drafts of this book, and about as many years teaching other languages including C, JavaScript, LISP, Pascal, PHP, PROLOG, and Python. His primary focus is teaching of late while also being active in research in artificial intelligence









