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

мелкая копия содержит ссылку (адрес в памяти) на исходную переменную. Изменения на мелких копиях отражаются на исходном объекте.
32

В чем разница между глубокой копией и мелкой копией?

В чем разница между глубокой копией и мелкой копией?
08 окт. '08 в 20:22
7

Почему и когда использовать angular.copy? (Deep Copy)

Я сохраняю все данные, полученные от служб, прямо к локальной переменной, контроллеру или области видимости. То, что, я полагаю, будет считаться мелкой копией, верно? Example: DataService.callFunction() .then(function(response) { $scope.example =...
09 окт. '15 в 17:16
9

Как создать копию объекта в PHP?

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

Мелкая копия карты в Java

Как я понимаю, существует несколько способов (возможно, других) создать небольшую копию Map в Java: Map<String, Object> data = new HashMap<String, Object>(); Map<String, Object> shallowCopy; // first way shallowCopy = new HashMap...
01 мар. '10 в 15:23
8

Самый быстрый способ сделать мелкую копию в С#

Интересно, что самый быстрый способ сделать мелкое копирование на С#? Я знаю только, что есть 2 способа сделать мелкую копию: MemberwiseClone Скопировать каждое поле по одному (вручную) Я обнаружил, что (2) быстрее, чем (1). Мне интересно, есть ли...
08 июн. '09 в 19:13
11

В Java, что такое мелкая копия?

java.util.Calendar.clone() возвращает "... новый календарь с теми же свойствами" и возвращает "мелкую копию этого Календаря". Это не выглядит мелкой копией, как было указано здесь на SO. Этот вопрос отмечен language-agnostic, Java, похоже, не соот...
24 июл. '09 в 3:32
8

Когда я должен передавать или возвращать структуру по значению?

Структуру можно передать или вернуть по значению или передать/вернуть по ссылке (через указатель) в C. По общему мнению, первое может быть применено к малым структурам без штрафа в большинстве случаев. См. Есть ли случай, для которого возвращение с...
22 июн. '15 в 13:05
5

Синтаксис фрагмента списка Python, используемый без видимой причины

Я иногда вижу синтаксис списка списка, используемый в коде Python следующим образом: newList = oldList[:] Конечно, это то же самое, что: newList = oldList Или я что-то не хватает?
27 нояб. '08 в 12:57
4

Что делает эта нотация для списков в Python: "someList [:]"?

Я иногда получаю такой способ печати или возврата списка - someList[:]. Я не понимаю, почему люди используют его, так как он возвращает полный список. Почему бы просто не написать someList, без части [:]?
30 апр. '15 в 9:15
2

Как клонировать или копировать набор в Python?

Для копирования списка: shallow_copy_of_list = old_list[:]. Для копирования dict: shallow_copy_of_dict = dict(old_dict). Но для a set я был обеспокоен тем, что подобное не сработает, потому что выражение new_set = set(old_set) даст набор множест...
21 апр. '14 в 16:01
7

Оператор присваивания по умолчанию = в С++ - это мелкая копия?

Просто простой вопрос, который я не мог найти в любом другом месте. Является ли оператор по умолчанию = просто мелкой копией всех членов класса с правой стороны? Class foo { public: int a, b, c; }; foo f1, f2; ... f1 = f2; будет идентичным: f1...
23 февр. '11 в 20:09
10

Могу ли я использовать memcpy в С++ для копирования классов, у которых нет указателей или виртуальных функций

Скажем, у меня есть класс, что-то вроде следующего: class MyClass { public: MyClass(); int a,b,c; double x,y,z; }; #define PageSize 1000000 MyClass Array1[PageSize],Array2[PageSize]; Если мой класс не имеет указателей или виртуальных мето...
11 июн. '10 в 8:34
6

Неглубокая копия или глубокая копия?

Я немного новичок в этих двух методах копирования одного объекта в другой. Я смущен и не в состоянии выявить основную разницу между глубокой копией и мелкой копией. Я рассмотрел множество теорий относительно этого, но мне нужно объяснение с надлежащи...
05 авг. '13 в 19:45
3

Мелкая копия хешета

Какой лучший способ сделать это? var set2 = new HashSet<reference_type>(); Пройдите через сет с таким foreach. foreach (var n in set) set2.Add(n); Или используйте что-то вроде союза. set2 = set.UnionWith(set); // all the elements
10 мар. '12 в 17:02
2

С# Неглубоко копировать словарь?

Мне нужно неглубоко скопировать словарь в С#. Например: Dictionary<int,int> flags = new Dictionary<int,int>(); flags[1] = 2; flags[2] = 3; flags[0] = 9001; Dictionary<int,int> flagsn = flags.MemberwiseClone(); К сожалению, это в...
14 янв. '12 в 0:44