C++ STL का ये introduction tutorial है जिसमें हम सबसे पहले ये समझेंगे की C++ STL क्या है, इसमें क्या -क्या topics होते हैं और C++ STL सीखना क्यों जरुरी है.
जब हम programming सीखना शुरू करते हैं तब हर काम के लिए बिल्कुल शुरुआत (scratch) से code करते हैं लेकिन जब हम real life में real project के लिए code करते हैं तब हमारे पास इतना वक्त नहीं होता की हर काम के लिए खुद से code करें.
इसलिए हमें जरुरत होती है ऐसे pre-defined code की जो best हो और उसे use करना आसान हो और इसलिए C++ में हम use करते हैं Standard Template Library (STL).
STL बहुत ही popular library है जिसके अन्दर पहले से pre-defined template classes, algorithms और iterators होते हैं जिनका use करके आप बड़ी आसानी से कोई भी programs या data structures बना सकते हो और भी बिना space-time complexities के बारे चिंता किए.
STL को Alexander Stepanov ने 1994 में developed किया था. Real life project के अलावा competitive programming भी STL बहुत ज्यादा popular है और इसलिए C++ Programming सीखने के बाद आपको STL को जरुर सीखना चाइये.
नोट: STL सीखने के लिए आपको C++ programming के templates topic की अच्छी जानकारी होनी चाहिए.
Components of STL in C++
STL में तीन important components होते हैं और इन तीनो को साथ में use करके हम अलग–अलग programming solutions को code करते हैं.
- Containers
- Iterators
- Algorithms
अब हम एक-एक करके इन सबके बारे में संक्षिप्त (short) में बात करेंगे और फिर आने वाले tutorials में इनको details में use करना सीखेंगे.
Containers in STL
STL में ऐसी बहुत सी classes होती हैं जिन्हें हम containers कहते हैं क्योंकि इन classes का use data को contain यानी store करने के लिए किया जाता है.
अलग-अलग container classes अलग-अलग तरीकों से data को store करती हैं और ये सभी classes template classes होती है जिसकी वजह से ये different data को store कर सकती हैं.
नीचे STL में मौजूद सभी important container classes की list दी है और आने में tutorials में हम एक-एक करके इन सभी STL containers को use करना सीखेंगे.
Vector | List |
Forward List | Pair |
Tuple | Stack |
Queue | Deque |
Priority Queue | – |
Set | Multi Set |
Unordered Set | Unordered Multiset |
Map | Multimap |
Unordered Map | Unordered Multimap |
Iterators in STL
जब हमें किसी भी काम के लिए किसी container के अंदर मौजूद data को access करना होता है तब हम use करते हैं Iterators यानी Iterator object की हेल्प से हम किसी भी container में store elements पर traverse (point) कर सकते हैं.
Iterators की ही help से हम STL algorithms को STL containers से connect करते हैं जिससे की वो algorithms (operations) उस container पर apply हो सकें.
Algorithms in STL
C++ STL की header file में बहुत सारे functions define हैं जिनके जरिये आप containers पर searching, sorting, counting, manipulating इत्यादि operations perform कर सकते हो.
Algorithm functions की help से हमारा बहुत complex operations भी बहुत आसानी से हो जाता है और हमारा बहुत time save हो जाता है. हम आने वाले tutorials में important algorithms functions को use करना सीखेंगे.
What’s Next: C++ STL के next tutorial में Vector के बारे में पढ़ेंगे और साथ-साथ Vector के सभी important functions को use करना सीखेंगे.