о складається з пари « ключ-значення ». Ключ, використовуваний для впорядкування послідовності, а яким-небудь чином, пов'язані з цим ключем. Наприклад, a map може містити унікальні ключі подання машинне кожне слово в текст і значеннях, що представляє кількість разів, машинне слово зустрічається в тексті. A set порядок по зростанню просто контейнер унікальних елементів. Обидва map і set вирішити тільки один екземпляр ключа або елемента, який необхідно вставити в контейнер. Якщо кілька примірників елементів необхідні, скористайтеся multimap OR multiset. Обидва ітератора зіставлення і підтримки двобічної наборів. Поки не частина стандарту STL, формальний hash_map і hash_set часто використовується для підвищення при пошуку разів. Ці контейнери зберігають їх елементи, такі як хеш-таблиці, кожен запис в таблиці, що містить список пов'язаний двонапрямленим елементів. Для забезпечення найбільш швидкі час пошуку, переконайтеся, що алгоритм хешування для елементів повертає рівномірно розподілені значення хеша. Додаткові відомості про асоціативних контейнерах подані у таблиці.
Адаптери контейнера
Адаптери контейнера просто зміни наведених вище контейнерів. Адаптери контейнера не підтримують ітератори._queue контейнер упорядковував ті, що елемент з найвищим значенням завжди є першим в очереді.контейнер слідувати семантиці FIFO (раніше прийшов - першим вийшов" ). Перший елемент inserted (відправляються) в чергу перший для видалення (витягується) . контейнер слідувати семантиці LIFO (останнього in, out). Останній елемент для вставки (відправляються) в стек перший елемент, що видаляється (витягується).
Оскільки адаптери контейнера не підтримують ітератори, їх не можна використовувати з алгоритмом STL.
Вимоги для елементів контейнера.
Елементи, додані в контейнер STL можуть мати будь-який тип об'єкта, який надає відкритий конструктор копії, відкритий деструктор і відкритий оператор присвоювання. Деструктор не може створити виняток. Крім того, асоціативні як контейнери set і map мати відкритий оператор порівняння бути визначені, який за замовчуванням operator <. Деякі операції в контейнерах також можуть зажадати відкритого конструктора за замовчуванням і відкритого equivalence оператора.
. Код гри з коментарями
# include
# include
# include
# include
using namespace std;
/ *
введення констант
створення функцій
створюється порожня дошка
висновок інструкцій на дисплей
комп'ютер отримує x
гравець отримує o
запитати гравця, якщо він хоче ходити першим.
якщо гравець ходить першим
гравець отримує x
комп'ютер отримує o
Якщо другий то
комп'ютер отримує x
гравець отримує o
висновок дошки на дисплей
якщо ніхто не переможе і нічия
приймається рішення по дії