STL و الگوریتمها
تسلط بر کتابخانه قالب استاندارد (STL) — کانتینرها، تکرارگرها، الگوریتمها، بازهها و برنامهنویسی تابعی.
کانتینرها
Sequence Containers: vector, deque, list, array
کانتینرهای ترتیبی در STL را بررسی کنید — vector، deque، list، forward_list و array. تفاوتهای عملکرد، چیدمان حافظه و قوانین نامعتبرسازی تکرارگر را بیاموزید.
Associative Containers: map, set, unordered_map
درباره کانتینرهای انجمنی مرتب و نامرتب بیاموزید — mapها، setها و انواع multi- و unordered آنها. بفهمید چه زمانی درختها و چه زمانی جداول هش را انتخاب کنید.
Container Adaptors و کانتینرهای ویژه
درباره stack، queue، priority_queue و نوعهای واژگانی مدرن مانند span، string_view و optional بیاموزید. بفهمید چه زمانی آداپتورها کد شما را سادهتر میکنند.
تکرارگرها و الگوریتمها
تکرارگرها: چسب STL
دستهبندیهای تکرارگر را بشناسید، از تکرارگرهای ورودی تا تکرارگرهای پیوسته. حساب تکرارگر، قرارداد begin/end و نحوه اتصال تکرارگرها به الگوریتمها را بیاموزید.
الگوریتمهای STL: قدرت <algorithm>
مهمترین الگوریتمهای STL را فرا بگیرید — از جستجو و مرتبسازی تا تبدیل و تجمیع. بیاموزید چگونه الگوریتمها با تکرارگرها برای کد رسا و کارآمد ترکیب میشوند.
لامبداها و برنامهنویسی تابعی
لامبداهای ++C را فرا بگیرید — لیستهای گرفتن، لامبداهای mutable، لامبداهای عمومی و استفاده آنها به عنوان محمولهای الگوریتم. std::function، std::invoke و الگوی IIFE را بیاموزید.
بازهها و نماها (C++20)
بازههای C++20: پارادایمی جدید
بازههای C++20 را کشف کنید — بازطراحی مدرن رابط الگوریتم STL. مفاهیم بازه، الگوریتمهای مبتنی بر بازه، تصویرسازیها و عملگر لوله برای تبدیلهای داده ترکیبپذیر را بیاموزید.
نماها، ارزیابی تنبل و ترکیب
نماهای C++20 را فرا بگیرید — آداپتورهای بازه سبک و تنبل که با عملگر لوله ترکیب میشوند. filter، transform، take، drop، split، join، iota و نحوه ساخت خطوط لوله داده قدرتمند بدون تخصیصهای میانی را بیاموزید.