C++ STL (स्टैंडर्ड टेम्प्लेट लाइब्रेरी) C++ टेम्प्लेट क्लासेस का एक शक्तिशाली सेट है, जो सामान्य-उद्देश्य वाले वर्गों और टेम्प्लेट के साथ फ़ंक्शंस प्रदान करता है जो कई लोकप्रिय और आमतौर पर उपयोग किए जाने वाले एल्गोरिदम और डेटा संरचनाओं जैसे वैक्टर, सूचियों, क्यू और स्टैक को लागू करते हैं।
यह कंटेनर क्लासेस, एल्गोरिदम और इटरेटर्स की लाइब्रेरी है। यह एक सामान्यीकृत पुस्तकालय है और इसलिए, इसके घटकों को मानकीकृत किया जाता है। एसटीएल के साथ काम करने के लिए टेम्प्लेट कक्षाओं का कार्यसाधक ज्ञान एक पूर्वापेक्षा है।
टेम्प्लेट सी ++ प्रोग्रामिंग भाषा की एक विशेषता है जो कार्यों और कक्षाओं को सामान्य प्रकारों के साथ संचालित करने की अनुमति देता है। यह किसी फ़ंक्शन या क्लास को हर एक के लिए फिर से लिखे बिना कई अलग-अलग डेटा प्रकारों पर काम करने की अनुमति देता है
C++ मानक टेम्पलेट लाइब्रेरी में निम्नलिखित तीन अच्छी तरह से संरचित घटक हैं -
1 कंटेनर
कंटेनरों का उपयोग एक निश्चित प्रकार की वस्तुओं के संग्रह को प्रबंधित करने के लिए किया जाता है। कई अलग-अलग प्रकार के कंटेनर हैं जैसे डेक, सूची, वेक्टर, मानचित्र, आदि।
-
अनुक्रम कंटेनर - ये कंटेनर डेटा संरचनाओं को लागू करते हैं जिन्हें क्रमिक तरीके से एक्सेस किया जा सकता है।
- वेक्टर
- सूची
- डेक
- सरणी
- आगे_सूची
-
कंटेनर एडेप्टर - वे अनुक्रमिक कंटेनरों के लिए एक अलग इंटरफ़ेस प्रदान करते हैं।
- कतार
- प्राथमिकता_कतार
- ढेर
-
सहयोगी कंटेनर - वे क्रमबद्ध डेटा संरचनाओं को लागू करते हैं जिन्हें जल्दी से खोजा जा सकता है (ओ (लॉग एन) जटिलता)।
- सेट
- मल्टीसेट
- मानचित्र
- मल्टीमैप
-
अनियंत्रित सहयोगी कंटेनर - ये कंटेनर अनियंत्रित डेटा संरचनाओं को लागू करते हैं जिन्हें जल्दी से खोजा जा सकता है
- unordered_set
- unordered_multiset
- unordered_map
- unordered_multimap
2 एल्गोरिदम
एल्गोरिदम कंटेनरों पर कार्य करते हैं। वे वह साधन प्रदान करते हैं जिसके द्वारा आप कंटेनरों की सामग्री को आरंभीकरण, छँटाई, खोज और रूपांतरित करेंगे।
एल्गोरिदम
- क्रमबद्ध करना
- खोज
- महत्वपूर्ण एसटीएल एल्गोरिदम
- उपयोगी सरणी एल्गोरिदम
- विभाजन संचालन
3 इटरेटर
वस्तुओं के संग्रह के तत्वों के माध्यम से कदम उठाने के लिए इटरेटर का उपयोग किया जाता है। ये संग्रह कंटेनर या कंटेनरों के सबसेट हो सकते हैं।