کتابخانه استاندارد قالب
اجزاء > کانتینرها

STL شامل کانتینرهای ترتیبی (sequence containers) و وابسته (associative containers) می‌شود. کانتینرها اشیایی هستند که داده‌ها را ذخیره می‌کنند.
کانتینرهای ترتیبی (sequence containers) شامل موارد زیر می‌شوند:
vector
deque
list
و کانتینرهای وابسته (associative containers) شامل موارد زیر می‌شوند:
set
multiset
map
multimap
hash_set
hash_map
hash_multiset
hash_multimap
همچنین کانتینرهای، prior_queue و stack وجود دارند که کانتینرهایی با interfaceهای خاص هستند و از کانتینرهای دیگر به عنوان پیاده‌سازی استفاده می‌کنند.
| کانتینرها> کانتینرهای ساده | توضیحات> کانتینرهای ساده |
| --- | --- |
pair: این نوع کانتینر یک کانتینر وابسته ساده است که از ۲ عنصر داده یا اشیا، تشکیل شده است و در مرتب‌سازی به ترتیب "اول" و "دوم" نامیده می‌شود.
متوالی (آرایه ها/لیست‌های پیوندی): متوالی (آرایه ها/لیست‌های پیوندی)
vector: یک آرایه پویا، مانند آرایه C (یعنی امکان دسترسی تصادفی) با قابلیت تغییر اندازه خودکار هنگام قرار دادن یا پاک کردن یک شی. قرار دادن یک عنصر در انتهای vector انتها زمان ثابتی را در بر می‌گیرد. حذف آخرین عنصر فقط به زمان ثابت نیاز دارد، زیرا تغییر سایز اتفاق نمی‌افتد. قرار دادن و پاک کردن در ابتدا یا وسط به صورت خطی است. یک نوع ویژه برای نوع bool وجود دارد که با ذخیره مقادیر آن به صورت بیت، فضای را بهینه می‌کند.
list: یک لیست پیوندی دوگانه که عناصر را در به صورت پشت سرهم ذخیره نمی‌کند. که آن را با vectorها متمایز می‌کند. در listها جستجوی و دسترسی به صورت آهسته (زمان خطی) خواهد بود، اما هنگامی که موقعیتی پیدا شد، درج و حذف سریع (زمان ثابت) است.
slist: یک لیست پیوندی که عناصر را در به صورت پشت سرهم ذخیره نمی‌کند. که آن را با vectorها متمایز می‌کند. در listها جستجوی و دسترسی به صورت آهسته (زمان خطی) خواهد بود، اما هنگامی که موقعیتی پیدا شد، درج و حذف سریع (زمان ثابت) است. کمی درج و حذف کارآمدتر است و از حافظه کمتری نسبت به لیست پیوندی دوگانه استفاده می‌کند، اما فقط می‌تواند به سمت جلو حرکت کندو در کتابخانه استاندارد ++C به عنوان forward_list اجرا می‌شود.
deque (صف دو طرف بسته): یک آرایه پویا (vector) با قابلیت اضافه/حذف کردن از ابتدا یا انتها در زمان Constant Amortized (میانگین  همه عملیات‌ها زمان ثابتی می گیره و زمان اجرا ربطی به سایز ورودی نداره) وجود دارد، هرچند که پس از تغییر تضمین‌هایی در مورد اعتبار تکرار کننده‌ها ندارد.
Container adaptors: Container adaptors
queue: صف با استفاده از روش FIFO عملیات‌های push/pop/front/backرا فراهم می‌کند. از هر کانیتنیرهای ترتیبی که  ()front() ,back() ,push_back(), pop_front می‌توان به عنوان صف درنظر گرفت. (همانند: list و deque)
priority queue: این نوغ صفی اولویت دار نسبت به  push/pop/top را فراهم می‌کند. (عنصری که بالاترین اولویت را دارد در بالا است) از هر کانتینرهای ترتیبی با دسترسی تصادفی که از عملیات‌های ()front() ,push_back() pop_fron پشتیبانی می‌کند، می‌تواند نمونه ای از صف‌های اولویت دار (به عنوان مثال vector و deque) استفاده شود. با استفاده از پشته اجرا می‌شود.
stack: پشته با استفاده از روش LIFO عملیات‌های push / pop / top فراهم می‌کند (آخرین عنصر وارد شده در بالا است). از هر کانتینرهای ترتیبی که از عملیات‌های ()back() ,push_back() pop_back پشتیبانی می‌کند، می‌تواند نمونه ای از پشته (به عنوان مثال list , vector و deque) استفاده شود.
کانتینرهای وابسته: مجموعه‌های غیر مرتب: کانتینرهای وابسته: مجموعه‌های غیر مرتب
set: یک مجموعه ریاضی که درج / پاک کردن عناصر در یک مجموعه تکرارهای اشاره شده در مجموعه را باطل نمی‌کند. ایجاد یک مجموعهٔ عملیاتی متحد
multiset: همانند یک مجموعه (set)، اما اجازه عناصر تکراری (چند مجموعه ریاضی) را نیز می‌دهد.
map: یک آرایه وابسته که اجازه می‌دهد تا از یک مورد داده (یک کلید) به دیگری (یک مقدار) نقشه‌برداری شود. نوع کلید باید عملگر مقایسه را اجرا کند <یا عملکرد مقایسه کننده سفارشی باید مشخص شود. چنین عملکرد اپراتور مقایسه یا مقایسه کننده باید نظم ضعیف را تضمین کند، در غیر این صورت رفتار تعریف نشده است. به‌طور معمول با استفاده از یک درخت جستجوی دودویی متعادل کننده اجرا می‌شود.
multimap: همانند map، اما اجازه چند کلید را نیز دارد.
hash_set hash_multiset hash_map hash_multimap: به ترتیب مشابه یک multimap , map, multiset ,set اما با استفاده از جدول هش پیاده‌سازی شده است. کلیدها ترتیب نمی‌شوند، اما یک تابع هش باید برای نوع کلید وجود داشته باشد. این نوع از استاندارد C ++ خارج شدند. کانتیر مشابه در C ++ 11 استاندارد شدند، اما با نام‌های مختلف (unordered_set و unordered_map).
نوع‌های دیگر کانتینرها: نوع‌های دیگر کانتینرها
bitset: مجموعه ای از بیت‌ها را مشابه بردارهای bool با اندازه ثابت ذخیره می‌کند. عملیات بیتی را اجرا می‌کند و فاقد تکرار کننده است. دنباله ای نیست. دسترسی تصادفی را فراهم می‌کند.
valarray: نوع داده دیگری از آرایه، که برای استفاده عددی (به ویژه برای نشان دادن بردارها و ماتریس‌ها) در نظر گرفته شده است. استاندارد C ++ بهینه‌سازی‌های خاصی را برای این منظور در نظر گرفته است. طبق گفته Josuttis، والارای توسط افرادی "که مدتها قبل از اتمام استاندارد از کمیته [C ++ standard] خارج شدند" بد طراحی شده است، و کتابخانه‌های قالب بیان ترجیح داده می‌شوند. بازنویسی پیشنهادی بخش vlarray از استاندارد در این رد رد شد، در عوض به مجوزی برای پیاده‌سازی آن با استفاده از الگوی بیان تبدیل شد.