++C
C++C++ چند زبان است در یک بسته، و بخش زیادی از سردرگمی از همین میآید: کدی که در سال ۲۰۰۰ درست بود، امروز اشتباه است. این مسیر فقط C++ مدرن را یاد میدهد — با اشارهگر هوشمند، RAII و کتابخانهٔ استاندارد — و توضیح میدهد چرا سبک قدیمی کنار گذاشته شد.
پیشرفت تو
درصد هر فصل از دو چیز میآید: چقدر از بخشهایش را خواندهای (۵۵٪) و چند تمرینش را تیک زدهای (۴۵٪). همهچیز داخل مرورگر خودت میماند.
فصل
فصلها به هم وابستهاند و ترتیبشان معنا دارد. هر مسیر با پروژههای نهایی تمام میشود: ساده، متوسط، پیچیده.
++C مدرن
چه چیزی از C گرفت و چه چیزی اضافه کرد.
در نوبت نوشتننوع، مرجع و auto
مرجع در برابر اشارهگر.
در نوبت نوشتنکلاس و چرخهٔ عمر
سازنده، مخرب و قاعدهٔ صفر.
در نوبت نوشتنRAII
مهمترین ایدهٔ C++: منبع را به عمر شیء گره بزن.
در نوبت نوشتناشارهگر هوشمند
unique_ptr، shared_ptr و مالکیت صریح.
در نوبت نوشتنمعناشناسی انتقال
move، rvalue و اینکه چرا کپی گران است.
در نوبت نوشتنقالب
generic در زمان کامپایل، و پیامهای خطای بدنامش.
در نوبت نوشتنSTL: ظرفها
vector، map، set — و هزینهٔ هرکدام.
در نوبت نوشتنSTL: الگوریتمها
sort، find، transform و ranges.
در نوبت نوشتنخطا
exception، noexcept و ایمنی در برابر خطا.
در نوبت نوشتنهمروندی
thread، mutex، atomic و future.
در نوبت نوشتنCMake و وابستگی
بیلد چندسکویی و مدیریت کتابخانه.
در نوبت نوشتنکارایی
cache، تخصیص، و اندازهگیری قبل از بهینهسازی.
در نوبت نوشتنتست
GoogleTest و Catch2.
در نوبت نوشتنپروژهٔ ۱ — کلاس منبعمحور
RAII واقعی با تست چرخهٔ عمر.
در نوبت نوشتنپروژهٔ سادهپروژهٔ ۲ — ظرف عمومی
ظرف قالبی خودت با iterator.
در نوبت نوشتنپروژهٔ متوسطپروژهٔ ۳ — موتور همروند
thread pool با صف بدون قفل و اندازهگیری.
در نوبت نوشتنپروژهٔ پیچیده