Assotsiativ konteynerlar (associative containers) kalitlar yordamida ularda saqlanadigan qiymatlarni tezkor olish imkonini yaratadi.
Xar bir sinf – konteynerida ular bilan ishlash uchun mo‘ljallangan funksiyalar to‘plami aniqlangan. Masalan, ruyxat elementlarni kiritish, chiqarish, va qo‘shish funksiyalarni o‘z ichiga oladi.
Algoritmlar (algorithms) konteyner ichidagilar ustidan operatsiyalar bajaradi. Konteyner ichidagilarni initsializatsiyalash, qidirish, saralash va almashtirish uchun algoritmlar mavjud. Ko‘p algoritmlar konteyner ichidagi elementlarni chiziqi ro‘yxatini ifodalaydovchi ketma-ketlik (sequence) bilan ishlash uchun mo‘ljallangan.
Iteratorlar (iterators) – bu konteynerga nisbatan ko‘rsatkich sifatida bo‘lgan ob’ektlar. Ular massiv elementlariga ruxsat oluvchi ko‘rsatkichlar kabi, konteyner ichidagiga ruxsat olish imkoni beradi.
Sinf-konteynerlar STL da quyidagi sinf-konteynerlar aniqlangan:
Asosiy konteynerlar
multiset xar bir elementi noyob bo‘lishi shart emas to‘plam
map kalit/ qiymat juftlikni saqlash uchun assotsiativ ro‘yxat. Bunda xar bir kalit bitta qiymat bilan bog‘langan.
multimap xar bir kalit bilan ikkita yoki ko‘proq qiymatlar bog‘langan
Xosila konteynerlar
stack stek
queue tartib
priority_queue birinchi o‘rindagi tartib
Konstruktorlar Ixtiyoriy sinf-konteyner ko‘rsatilmagan xolda konstruktor va destruktorni nusxalovchi konstruktorga ega.
Masalan, vektor sinf-konteynerning konstruktori va destruktori:
barcha elementlarni o‘chiradi va xotirani bo‘shatadi.
Ixtiyoriy ob’ekt uchun ko‘rsatilmagan xolda konteynerda saqlanuvchi konstruktor mavjud bo‘lishi shart. Undan tashqari, ob’ekt uchun < va == operatorlar aniqlanish lozim.
Iteratorlar Itaratorlar bilan ko‘rsatkichlar kabi ishlash mumkin. Ularga *, inkrement, dekrement operatorlarni qo‘llash mumkin. Iterator tipi sifatida xar xil konteynerlarda aniqlangan iterator tip elon qilinadi.
Itoratorlarning beshta tipi mavjud: