HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>Карты (map) часто используются для хранения данных, связанных с уникальными ключами. Частый пример - хранение структур (например, пользователей, заказов, товаров), где ключ - это уникальный идентификатор (ID).</p>
1 <p>Карты (map) часто используются для хранения данных, связанных с уникальными ключами. Частый пример - хранение структур (например, пользователей, заказов, товаров), где ключ - это уникальный идентификатор (ID).</p>
2 <h2>Базовый пример</h2>
2 <h2>Базовый пример</h2>
3 <p>Предположим, у нас есть структура User:</p>
3 <p>Предположим, у нас есть структура User:</p>
4 <p>Создадим карту, где ключ - целое число (ID), а значение - структура User:</p>
4 <p>Создадим карту, где ключ - целое число (ID), а значение - структура User:</p>
5 <h2>Проблема копий</h2>
5 <h2>Проблема копий</h2>
6 <p>При получении элемента из карты возвращается<strong>копия значения</strong>, а не ссылка на оригинал:</p>
6 <p>При получении элемента из карты возвращается<strong>копия значения</strong>, а не ссылка на оригинал:</p>
7 <p>Чтобы изменить данные в карте, нужно явно присвоить изменённую структуру обратно:</p>
7 <p>Чтобы изменить данные в карте, нужно явно присвоить изменённую структуру обратно:</p>
8 <h2>Использование указателей</h2>
8 <h2>Использование указателей</h2>
9 <p>Если нужно часто изменять данные, удобнее хранить в карте<strong>указатели на структуры</strong>:</p>
9 <p>Если нужно часто изменять данные, удобнее хранить в карте<strong>указатели на структуры</strong>:</p>
10 <p>В этом случае карта хранит ссылки на объекты, и изменения применяются напрямую.</p>
10 <p>В этом случае карта хранит ссылки на объекты, и изменения применяются напрямую.</p>
11 <h2>Перебор карты со структурами</h2>
11 <h2>Перебор карты со структурами</h2>
12 <p>Перебор элементов ничем не отличается от обычных карт:</p>
12 <p>Перебор элементов ничем не отличается от обычных карт:</p>
13 <p>Если карта хранит указатели, цикл будет работать аналогично, только user уже будет указателем.</p>
13 <p>Если карта хранит указатели, цикл будет работать аналогично, только user уже будет указателем.</p>