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>