C++
از اولین قدم تا محصول واقعی
C++ مدرن را با سامانه کتابخانه یاد بگیر؛ از type و STL تا class، RAII، smart pointer، الگوریتم، تست و CMake.
این پروژه را در 20 قدم کوتاه میسازی. هر درس فقط یک موضوع تازه دارد و با نمونه قابل دیدن تمام میشود.
20 قدم کوتاه و مرتب
هر درس فقط یک مفهوم تازه دارد: اول خیلی ساده میخوانی، بعد مثال میبینی، کد را تغییر میدهی و با آزمون کوتاه مطمئن میشوی.
کامپایل و اولین برنامه C++
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
نوعها، const و auto
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
std::string و ورودی خطی
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
enum class و شرط
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
حلقه range-based
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
تابع و reference
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
std::vector و تغییر اندازه
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
map و optional
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
کلاس و invariant
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
Constructor و Rule of Zero
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
چندریختی با interface
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
Template برای کد عمومی
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
algorithm و lambda
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
مالکیت با smart pointer
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
Exception و RAII
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
مسیرها با filesystem
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
Move و هزینه کپی
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
آزمون با assert و جداسازی منطق
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
ساخت پروژه با CMake
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
پروژه؛ سامانه کتابخانه
همه آموختهها را به یک پروژه کامل و قابل ارائه تبدیل کن.
سامانه خط فرمان کتابخانه با ذخیره امن و آزمون
این پروژه یک نمونه تزئینی نیست. مدل داده، قوانین، حالت خطا، آزمون و مسیر انتشار را قدمبهقدم کامل میکنی.
- تعریف مسئله و کاربر واقعی
- ساخت نسخه کوچک اما انتهابهانتها
- آزمون مسیر موفق، مرزی و خطا
- آمادهسازی خروجی برای ارائه و بازخورد
#include <iostream>
int main(){ int price=180000,count=2; std::cout<<price*count<<'\n'; }