В чем разница между методами копирования и deep_copy в электронном языке?
Когда мне нужно использовать deep_copy(), и когда использование copy() достаточно хорошо?
Спасибо!
В чем разница между методами копирования и deep_copy в электронном языке?
Когда мне нужно использовать deep_copy(), и когда использование copy() достаточно хорошо?
Спасибо!
copy копирует скалярные поля и сохраняет ссылки на подструктуры. В то время как глубокая копия рекурсивно копирует все подструктуры.
Чтобы скопировать скаляры, используйте copy. - будет ссылаться на подструктуры. Для копирования подструктур используйте глубокую копию.
Разница в том, что метод copy() неглубокий, т. е. копирует значения скаляров и указателей в списки или структуры. Deep_copy() — это более сильная копия с атрибутами для управления методом copy(), такими как ссылка или создание нового списка/структуры. Если вам нужна неглубокая копия без учета более глубокой иерархии, используйте copy(). Когда нам нужно уделить внимание более глубокой иерархии, используйте deep_copy().
Copy() копирует только скалярные значения, указатели на структуры и ссылается на тот же список. Deep_copy() будет рекурсивно создавать новые экземпляры структуры, назначать новый список и создавать элементы списка. Если элементы списка являются структурами, то это также будут новые экземпляры.