Копирование в программировании

Содержание
Deep copy
Shallow copy
Похожие статьи

Deep copy

Полная или глубокая копия - это отдельный объект с такими же значениями как у оригинала, но больше с ним никак не связанный

Преположим есть объект A

A = [1, 2, 3]

Если сделать глубокую копию A → B

A = B = [1, 2, 3]

Объекты равны, но если помять значения в A это никак не скажется на B

A[0] = 4
A[1] = 5
A[2] = 6

A = [4, 5, 6]

B = [1, 2, 3]

B было копией A а теперь значения не совпадают и это нормально

Изображение баннера

Shallow copy

Неполная или поверхностная копия объекта

Рассмотрим снова объект A

A = [4, 5, 6]

Если сделать поверхностную копию A → С

С = [4, 5, 6]

С равно A и если теперь поменять значение A значение C тоже изменится так как у поверхностной копии нет своих элементов, она просто указывает на элементы A

A[0] = 7
A[1] = 8
A[2] = 9

A = [7, 8, 9]
С = [7, 8, 9]

Про функцию copy() в Python можно прочитать здесь

Похожие статьи
Теория
Программирование
Boilerplate код
LBYL vs EAFP
Время работы алгоритма
Изображение баннера

Поиск по сайту

Подпишитесь на Telegram канал @aofeed чтобы следить за выходом новых статей и обновлением старых

Перейти на канал

@aofeed

Задать вопрос в Телеграм-группе

@aofeedchat

Контакты и сотрудничество:
Рекомендую наш хостинг beget.ru
Пишите на info@urn.su если Вы:
1. Хотите написать статью для нашего сайта или перевести статью на свой родной язык.
2. Хотите разместить на сайте рекламу, подходящую по тематике.
3. Реклама на моём сайте имеет максимальный уровень цензуры. Если Вы увидели рекламный блок недопустимый для просмотра детьми школьного возраста, вызывающий шок или вводящий в заблуждение - пожалуйста свяжитесь с нами по электронной почте
4. Нашли на сайте ошибку, неточности, баг и т.д. ... .......
5. Статьи можно расшарить в соцсетях, нажав на иконку сети: