C++ STL (স্ট্যান্ডার্ড টেমপ্লেট লাইব্রেরি) হল C++ টেমপ্লেট ক্লাসের একটি শক্তিশালী সেট যা টেমপ্লেটগুলির সাথে সাধারণ-উদ্দেশ্যের ক্লাস এবং ফাংশন প্রদান করে যা অনেক জনপ্রিয় এবং সাধারণভাবে ব্যবহৃত অ্যালগরিদম এবং ডেটা স্ট্রাকচার যেমন ভেক্টর, তালিকা, সারি এবং স্ট্যাকগুলি বাস্তবায়ন করে।
এটি কন্টেইনার ক্লাস, অ্যালগরিদম এবং পুনরাবৃত্তিকারীদের একটি লাইব্রেরি। এটি একটি সাধারণ লাইব্রেরি এবং তাই, এর উপাদানগুলি পরামিতিযুক্ত। STL-এর সাথে কাজ করার জন্য টেমপ্লেট ক্লাসের কাজের জ্ঞান একটি পূর্বশর্ত।
টেমপ্লেটগুলি হল C++ প্রোগ্রামিং ভাষার একটি বৈশিষ্ট্য যা ফাংশন এবং ক্লাসগুলিকে জেনেরিক প্রকারের সাথে কাজ করতে দেয়। এটি একটি ফাংশন বা শ্রেণীকে প্রতিটির জন্য পুনঃলিখন ছাড়াই অনেকগুলি বিভিন্ন ডেটা প্রকারে কাজ করার অনুমতি দেয়
C++ স্ট্যান্ডার্ড টেমপ্লেট লাইব্রেরিতে তিনটি সুগঠিত উপাদান রয়েছে -
1 ধারক
ধারকগুলি একটি নির্দিষ্ট ধরণের বস্তুর সংগ্রহ পরিচালনা করতে ব্যবহৃত হয়। ডিক, তালিকা, ভেক্টর, মানচিত্র, ইত্যাদির মতো বিভিন্ন ধরণের পাত্র রয়েছে।
-
ক্রম ধারক - এই কন্টেইনারগুলি ডেটা স্ট্রাকচার প্রয়োগ করে যা একটি ক্রমানুসারে অ্যাক্সেস করা যেতে পারে৷
- ভেক্টর
- তালিকা
- ডিক
- অ্যারে
- forward_list
-
কন্টেইনার অ্যাডাপ্টার - তারা ক্রমিক পাত্রের জন্য একটি ভিন্ন ইন্টারফেস প্রদান করে।
- সারি
- অগ্রাধিকার_সারি
- স্ট্যাক
-
অ্যাসোসিয়েটিভ কন্টেইনার - তারা সাজানো ডেটা স্ট্রাকচার প্রয়োগ করে যা দ্রুত অনুসন্ধান করা যায় (O(log n) জটিলতা)।
- সেট
- মাল্টিসেট
- মানচিত্র
- মাল্টিম্যাপ
-
আনঅর্ডারড অ্যাসোসিয়েটিভ কন্টেইনার - এই কন্টেইনারগুলি অবিন্যস্ত ডেটা স্ট্রাকচারগুলি প্রয়োগ করে যা দ্রুত অনুসন্ধান করা যায়
- unordered_set
- আনঅর্ডারড_মাল্টিসেট
- unordered_map
- আনঅর্ডারড_মাল্টিম্যাপ
2 অ্যালগরিদম
অ্যালগরিদম পাত্রে কাজ করে। তারা সেই উপায়গুলি সরবরাহ করে যার মাধ্যমে আপনি কন্টেইনারগুলির বিষয়বস্তু শুরু, বাছাই, অনুসন্ধান এবং রূপান্তর করবেন৷
অ্যালগরিদম
- বাছাই
- অনুসন্ধান করা হচ্ছে
- গুরুত্বপূর্ণ STL অ্যালগরিদম
- উপযোগী অ্যারে অ্যালগরিদম
- পার্টিশন অপারেশন
3টি পুনরাবৃত্তিকারী
ইটারেটরগুলি বস্তুর সংগ্রহের উপাদানগুলির মাধ্যমে ধাপে ধাপে ব্যবহার করা হয়। এই সংগ্রহগুলি পাত্রে বা পাত্রের উপসেট হতে পারে৷