Assotsiativ konteynerlar (massivlar) Assotsiativ massiv juft qiymatlardan iborat. (key) kalit deb atalgan bitta qiymatni bilib (mapped value) aks etuvchi qiymat deb atalgan ikkinchi qiymatga ruxsat olishimiz mumkin.
Assotsiativ massivni massiv indekslari butun tiplardan iborat bo‘lmagan massiv sifatida tavsiflash mumkin:
V& operator[](const K&) K ga mos keluvchi V ga ilovani qaytaradi.
Assotsiativ konteynerlar – bu assotsiativ massivning umumiy tushunchasi.
map assotsiativ konteyner bu kalit yordamida qiymatga tez ega bo‘lish imkonini yaratadigan juftlik (kalit, qiymat) ketma-ketligi. map konteyneri ikki yo‘nalishli iteratorni tavsif etadi.
map assotsiativ konteyneri kalit tiplari uchun “<” operatsiyasi mavjudligini talab qiladi. U kalit bo‘yicha saralangan o‘z elementlarini saqlaydi. Saralash almashuvi esa tartib bo‘yicha bajariladi.
map sinfida quyidagi knstruktorlar aniqlangan:
birinchi shakli bo‘sh assotsiativ konteynerning konstruktorini tavsiflaydi. Ikkinchi shakli – konstruktor nusxasi, uchinchisi – elementlar diapazonini kamrab olgan assotsiativ konteynerning konstruktori.
O‘zgartirish operatsiyasi aniqlangan:
map& operator=(const map&);
quyidagi operatsiyalar aniqlangan: ==, <, <=, !=, >, >=.
mapda kalit/qiymat juftliklar pair tiplagi ob’ektlar ko‘rinishida saqlanadi.
Kalit/qiymat juftliklarni faqatgina pair sinf konstruktorlari yordamida, balki pair tipdagi ob’ektlarni yaratuvchi va ma’lumotlar tiplaridan parametrlar sifatida foydalanuvchi make_pair funksiya yordamida yaratish mumkin.
Assotsiativ konteyner uchun o‘ziga xos operatsiya – bu ([]) indeksatsiyalash operatsiyasi yordamida assotsiativ qidiruv.
mapped_type& operator[](const key_type& K);
set to‘plamini assotsiativ massiv sifatida ko‘rish mumkin. Unda qiymatlar axamiyatga ega emas, shuning uchun faqat kalitlarni ko‘zatish mumkin.
to‘plamlar assotsiativ massiv kabi T tip uchun (<) “kichik” operatsiyani mavjudligini talab etadi. U o‘z elementlarini saralangan xolda saqlaydi. saralash almashuvi esa tartibda bajariladi.