কম্পিউটার

সি++ স্ট্যান্ডার্ড টেমপ্লেট লাইব্রেরি (STL)


The Standard Template Library হল C++ প্রোগ্রামিং ভাষার জন্য একটি সফটওয়্যার লাইব্রেরি যা C++ স্ট্যান্ডার্ড লাইব্রেরির বিভিন্ন অংশকে প্রভাবিত করেছে। এটি অ্যালগরিদম, ধারক, ফাংশন এবং পুনরাবৃত্তিকারী নামে চারটি উপাদান সরবরাহ করে। উল্লেখ্য যে "STL" বা "স্ট্যান্ডার্ড টেমপ্লেট লাইব্রেরি" শব্দটি ISO 14882 C++ স্ট্যান্ডার্ডে কোথাও দেখা যায় না। তাই C++ স্ট্যান্ডার্ড লাইব্রেরীকে STL হিসেবে উল্লেখ করা ভুল, অর্থাৎ, STL এবং C++ স্ট্যান্ডার্ড লাইব্রেরি 2টি ভিন্ন জিনিস এবং পূর্ববর্তীটি পরবর্তীটির উপসেট।

STL −

নিয়ে গঠিত

পাত্রে

STL-এ সিকোয়েন্স কন্টেইনার এবং অ্যাসোসিয়েটিভ কন্টেনার রয়েছে৷ কন্টেইনারগুলি এমন বস্তু যা ডেটা সঞ্চয় করে। স্ট্যান্ডার্ড সিকোয়েন্স পাত্রে ভেক্টর, ডেক এবং তালিকা অন্তর্ভুক্ত। স্ট্যান্ডার্ড অ্যাসোসিয়েটিভ কন্টেনারগুলি হল সেট, মাল্টিসেট, ম্যাপ, মাল্টিম্যাপ, হ্যাশ_সেট, হ্যাশ_ম্যাপ, হ্যাশ_মাল্টিসেট এবং হ্যাশ_মাল্টিম্যাপ। এছাড়াও কন্টেইনার অ্যাডাপ্টার সারি, অগ্রাধিকার_সারি এবং স্ট্যাক রয়েছে, যেগুলি নির্দিষ্ট ইন্টারফেসের সাথে কনটেইনার, বাস্তবায়ন হিসাবে অন্যান্য কন্টেইনার ব্যবহার করে।

Iterators

একটি পুনরাবৃত্তিকারী একটি বস্তু যা একটি প্রোগ্রামারকে একটি ধারক অতিক্রম করতে সক্ষম করে৷ STL পাঁচটি ভিন্ন ধরনের ইটারেটর প্রয়োগ করে:ইনপুট (মানগুলির একটি ক্রম পড়তে ব্যবহৃত হয়), আউটপুট (মানগুলির একটি ক্রম লিখতে ব্যবহৃত হয়), ফরোয়ার্ড (যা পড়া, লেখা এবং এগিয়ে যেতে পারে), দ্বিমুখী (যেমন ফরওয়ার্ড) পুনরাবৃত্তিকারী, কিন্তু পিছনের দিকেও যেতে পারে) এবং র্যান্ডম অ্যাক্সেস (একটি অপারেশনে যেকোনো সংখ্যক ধাপ অবাধে সরানো)। ইটারেটর হল প্রধান বৈশিষ্ট্য যা STL-এর সাধারণতাকে অনুমোদন করে।

অ্যালগরিদম

STL-এ অ্যালগরিদম হল বিশেষভাবে উপাদানগুলির রেঞ্জে ব্যবহার করার জন্য ডিজাইন করা ফাংশনের একটি সংগ্রহ৷ একটি পরিসীমা হল বস্তুর যেকোন ক্রম যা পুনরাবৃত্তিকারী বা পয়েন্টারগুলির মাধ্যমে অ্যাক্সেস করা যেতে পারে, যেমন একটি অ্যারে বা কিছু STL পাত্রের একটি উদাহরণ। STL-এ অ্যালগরিদমগুলির উদাহরণ:বাছাই (পরিসরে উপাদানগুলি সাজান), বাইনারি_সার্চ (পরীক্ষা করুন যদি সাজানো ক্রমানুসারে একটি মান বিদ্যমান থাকে), min_element (পরিসরে ক্ষুদ্রতম উপাদান ফেরত দিন) ইত্যাদি। মনে রাখবেন যে এই সমস্ত অ্যালগরিদমগুলি যে কোনও ডেটা টাইপের ক্ষেত্রে প্রয়োগ করা যেতে পারে একটি টেমপ্লেট হিসাবে।


  1. C++ এ গোলকধাঁধা

  2. C++ STL(3.5) এ স্ট্যাক

  3. C++ স্ট্যান্ডার্ড টেমপ্লেট লাইব্রেরিতে (STL) অগ্রাধিকার সারি

  4. C++ এ স্ট্যান্ডার্ড লাইব্রেরি কি?