STL और एल्गोरिदम (STL & Algorithms)
Standard Template Library में महारत हासिल करें — कंटेनर, इटरेटर, एल्गोरिदम, रेंज और फ़ंक्शनल प्रोग्रामिंग।
कंटेनर (Containers)
सीक्वेंस कंटेनर: vector, deque, list, array
STL के सीक्वेंस कंटेनर — vector, deque, list, forward_list और array — को समझें। उनके परफ़ॉर्मेंस ट्रेड-ऑफ़, मेमोरी लेआउट और इटरेटर के अमान्य (invalidate) होने के नियम सीखें।
एसोसिएटिव कंटेनर: map, set, unordered_map
ऑर्डर्ड और अनऑर्डर्ड एसोसिएटिव कंटेनर के बारे में जानें — map, set और उनके multi- और unordered वेरिएंट। समझें कि ट्री और हैश टेबल में से कब कौन-सा चुनना है।
कंटेनर एडेप्टर और विशेष कंटेनर
stack, queue, priority_queue, और span, string_view तथा optional जैसे आधुनिक वोकैबुलरी टाइप के बारे में जानें। समझें कि एडेप्टर आपके कोड को कब सरल बनाते हैं।
इटरेटर और एल्गोरिदम (Iterators & Algorithms)
इटरेटर: STL को जोड़ने वाली कड़ी
इटरेटर की श्रेणियों को समझें, इनपुट इटरेटर से लेकर कंटिग्यूअस इटरेटर तक। इटरेटर अरिथमेटिक, begin/end परिपाटी, और इटरेटर कंटेनर को एल्गोरिदम से कैसे जोड़ते हैं, यह सीखें।
STL एल्गोरिदम: <algorithm> की ताक़त
सबसे महत्वपूर्ण STL एल्गोरिदम में महारत हासिल करें — सर्चिंग और सॉर्टिंग से लेकर ट्रांसफ़ॉर्म और एक्यूमुलेट करने तक। सीखें कि एल्गोरिदम इटरेटर के साथ मिलकर अभिव्यंजक और कुशल कोड कैसे बनाते हैं।
लैम्ब्डा और फ़ंक्शनल प्रोग्रामिंग
C++ लैम्ब्डा में महारत हासिल करें — कैप्चर लिस्ट, म्यूटेबल लैम्ब्डा, जेनेरिक लैम्ब्डा, और एल्गोरिदम प्रेडिकेट के रूप में उनका उपयोग। std::function, std::invoke और IIFE पैटर्न सीखें।
रेंज और व्यू (Ranges & Views, C++20)
C++20 रेंज: एक नया पैराडाइम
C++20 रेंज को जानें — STL एल्गोरिदम इंटरफ़ेस का एक आधुनिक पुनर्डिज़ाइन। रेंज कॉन्सेप्ट, रेंज-आधारित एल्गोरिदम, प्रोजेक्शन, और जोड़े जा सकने वाले (composable) डेटा ट्रांसफ़ॉर्मेशन के लिए पाइप ऑपरेटर सीखें।
व्यू, लेज़ी इवैल्यूएशन और कम्पोज़िशन (Views)
C++20 व्यू में महारत हासिल करें — हल्के, लेज़ी रेंज एडेप्टर जो पाइप ऑपरेटर के साथ जुड़ते हैं। filter, transform, take, drop, split, join, iota सीखें, और बीच के आवंटन के बिना शक्तिशाली डेटा पाइपलाइन बनाना सीखें।