কম্পিউটার টিউটোরিয়াল

STL এবং C++ স্ট্যান্ডার্ড লাইব্রেরির পার্থক্য

STL (Standard Template Library) হলো C++-এর জন্য একটি সফ্টওয়্যার লাইব্রেরি যা C++ স্ট্যান্ডার্ড লাইব্রেরির অনেক অংশকে প্রভাবিত করেছে। কিন্তু STL এবং C++ স্ট্যান্ডার্ড লাইব্রেরি একই নয়।

STL-এর চারটি প্রধান কম্পোনেন্ট

কন্টেইনার (Containers)

ডেটা সংরক্ষণের অবজেক্ট। সিকোয়েন্স কন্টেইনার: vector, deque, list। অ্যাসোসिएটিভ কন্টেইনার: set, map, multiset, multimap। কন্টেইনার অ্যাডাপ্টার: queue, stack, priority_queue।

ইটেরেটর (Iterators)

কন্টেইনার ট্রাভার্স করার অবজেক্ট। পাঁচ ধরনের: ইনপুট, আউটপুট, ফরওয়ার্ড, বাইডিরেকশনাল, র‍্যান্ডম অ্যাক্সেস।

অ্যালগরিদম (Algorithms)

র‍্যাঞ্জ-ভিত্তিক ফাংশন: sort, binary_search, min_element ইত্যাদি। টেমপ্লেট-ভিত্তিক হওয়ায় যেকোনো ডেটা টাইপে কাজ করে।

ফাংশন অবজেক্ট (Functors)

ফাংশন হিসেবে ব্যবহারযোগ্য অবজেক্ট।

C++ স্ট্যান্ডার্ড লাইব্রেরি

ISO C++ স্ট্যান্ডার্ডের অংশ। STL-এর পাশাপাশি এবং অনেক কিছুই অন্তর্ভুক্ত করে:

  • Streams: I/O (iostream, fstream, sstream)
  • Strings: std::string
  • Numerics: complex, random, valarray
  • Threading: thread, mutex, atomic (C++11)
  • C Standard Library: cstdio, ctime, cmath ইত্যাদি

সারসংক্ষেপ: STL ⊂ C++ Standard Library। STL শুধু কন্টেইনার, ইটেরেটর, অ্যালগরিদম, ফাংশন অবজেক্ট।

  1. C++-এ cerr এবং clog স্ট্রিমের পার্থক্য

  2. C++-এ ডট (.) অপারেটর এবং -> (অ্যারো) অপারেটরের পার্থক্য

  3. C++-এ #define এবং const কিওয়ার্ডের পার্থক্য

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