Публикации по теме 'shallow-copy'


Глубокое погружение в операторы Spread и Rest в JavaScript с примерами из реальной жизни
В современном JavaScript синтаксис ... — это больше, чем просто причудливое сокращение. Как оператор расширения, так и оператор rest, этот универсальный синтаксис служит для реальных приложений, которые делают кодирование более эффективным и интуитивно понятным. Давайте углубимся в его возможности, начиная с реального примера для каждого варианта использования. Оператор распространения с массивами Представьте, что вы работаете над сайтом электронной коммерции. У вас есть массив..

Глубокое копирование против поверхностного копирования в JavaScript
неглубокая копия (копирование по ссылке): в этом случае скопированный объект указывает на ту же ячейку памяти, что и объект, поэтому значения объекта также изменяются, это один из сценариев, приводящих к ошибкам, когда вы не хотите изменять исходный объект просто хочет изменить скопированный объект Чтобы предотвратить это, у нас есть методы с поддержкой JavaScript, такие как оператор …spread и object.assign(). но оба потерпят неудачу в случае вложенных объектов, потому что..

Вопросы по теме 'shallow-copy'

Как создать копию объекта в PHP?
Похоже, что в PHP объекты передаются по ссылке. Даже операторы присваивания не создают копию объекта. Вот простое, надуманное доказательство: <?php class A { public $b; } function set_b($obj) { $obj->b = "after"; } $a = new A();...
133517 просмотров
schedule 02.01.2022

Неглубокое копирование из унаследованных классов
Итак, у меня есть абстрактный базовый класс Product, класс KitItem, который наследует Product, и класс PackageKitItem, который наследует KitItem. т.е. Product KitItem : Product PackageKitItem : KitItem У меня загружены KitItems, и мне нужно...
2447 просмотров
schedule 22.11.2022

Синтаксис фрагмента списка Python используется без очевидной причины
Иногда я вижу синтаксис фрагмента списка, используемый в коде Python, например: newList = oldList[:] Наверняка это то же самое, что: newList = oldList Или я что-то упускаю?
11907 просмотров
schedule 22.06.2022

Самый быстрый способ сделать неглубокое копирование в C#
Интересно, какой самый быстрый способ сделать мелкое копирование на С#? Я только знаю, что есть 2 способа сделать мелкую копию: MemberwiseClone Скопируйте каждое поле по одному (вручную) Я обнаружил, что (2) быстрее, чем (1). Мне...
61379 просмотров
schedule 22.07.2023

Должен ли конструктор / оператор / функция копирования указывать, какой вариант копирования он реализует?
Вчера я задал вопрос о копировании объектов на C #, и в большинстве ответов основное внимание уделялось разнице между глубокая копия и мелкая копия , а также тот факт, что следует четко указать, какой из обоих вариантов копирования реализует...
2165 просмотров

Оператор присваивания по умолчанию = в с ++ - это мелкая копия?
Просто простой быстрый вопрос, на который я не мог найти твердого ответа где-либо еще. Является ли оператор по умолчанию = просто неглубокой копией всех членов класса с правой стороны? Class foo { public: int a, b, c; }; foo f1, f2; ... f1 =...
39987 просмотров
schedule 17.02.2023

Мелкие и глубокие копии в неизменяемых объектах
Доброе утро, день или ночь, При реализации данного класса как неизменяемого, без каких-либо методов или свойств, раскрывающих частные/внутренние поля каким-либо образом, является ли поверхностное копирование плохой практикой или это можно сделать...
3084 просмотров
schedule 14.04.2024

Влияет ли установка одного указателя на объект на nil на объект или другие указатели на него?
Хотя я знаю основную разницу между Deep Copy и Shallow Copy, я хочу спросить здесь что-то практическое. У меня есть NSArray *firstArray = [NSArray arrayWithObjects:@"first", @"second",@"third", nil]; NSArray *secondArray = firstArray;...
196 просмотров

Использование '=' по сравнению с clone() в Java
Я работаю над некоторым кодом и пытаюсь понять, как скопировать ссылку на объект на другой объект. Я продолжаю видеть используемый метод clone(), но я читал, что он ошибочен, и класс, который я хочу скопировать, уже реализует сериализуемый. Итак,...
37 просмотров
schedule 25.03.2022

Использует ли System.arraycopy метод clone()?
У меня есть массив объектов с переопределенным методом clone() . Когда я использую arraycopy() func, будет ли он копировать каждый элемент с помощью метода clone() или делать поверхностную копию? Спасибо
516 просмотров
schedule 08.01.2023

Как работает мелкое копирование для Array в Smalltalk?
Итак, насколько я понимаю, когда вы передаете сообщение copy в массив, выполняется поверхностная копия. Два объекта должны указывать на один и тот же массив, и теоретически, когда вы меняете один, вы меняете и другой. Однако, когда я запускаю этот...
392 просмотров

Нарезка массива выглядит как глубокая копия?
Нарезка в питоне должна делать неглубокую копию. Однако, когда я запускаю следующее: cur = [[0] * (2) for _ in xrange(2)] cur2 = [row[:] for row in cur] cur2[0][0] = "foo" print(cur) print(cur2) Я получил: [[0, 0], [0, 0]] # cur [['foo',...
445 просмотров
schedule 03.12.2022

Когда срез выполняет поверхностную копию, а когда — глубокую копию в Python 3
bs = [1, 2, 3] print(id(bs)) print(id(bs[:])) xs = bs[:] xs[1] = [9, 9, 9] print(bs) print(xs) ------------- 4452573000 4452573064 [1, 2, 3] [1, [9, 9, 9], 3] Кажется, что bs[:] делает глубокую копию в xs bs = [1, 2, 3] print(id(bs))...
501 просмотров
schedule 05.02.2024

Конструктор копирования + поверхностное и глубокое копирование
Я хотел спросить, когда я не пишу какой-либо конструктор копирования явно, поэтому компилятор автоматически генерирует конструктор копирования, который выполняет поверхностное копирование по умолчанию, верно? Таким образом, в программе main(), когда...
98 просмотров

здесь, в имени списка sub_num, в чем разница между sub_num = [*(sub_num[:]),i] и sub_num.append(i) в python и что следует предпочесть
Я пытаюсь решить проблему bestSum, которая в основном находит минимальное количество элементов, которые в сумме составляют целевое значение, следующее, похоже, работает нормально, только если использовать sub_num = [*(sub_num[:]),i] для добавления...
13 просмотров

Java: почему String особенный в Deep Copy и Shallow copy?
Сейчас я изучаю clone метод Java. Я узнал, что clone использует мелкое копирование. Если я хочу реализовать глубокую копию объекта, я должен следовать следующим принципам из этот сайт Не нужно отдельно копировать примитивы. Все...
350 просмотров
schedule 28.03.2023