Текущий архив: 2007.10.14;
Скачать: CL | DM;
Вниз
Ссылка? Найти похожие ветки
← →
qadeveloper2 (2007-09-20 22:51) [0]Нет сейчас delphi, что бы проверить.
type
TMyArrays = record
str: array of string;
int: array of Integer;
end;
TMyType = array of TMyArrays;
var
MyType1: TMyArrays;
MyType2: TMyArrays;
begin
SetLength(MyType1, 10);
... тут любые операции по заполнению MyType1.
...
MyType2 := MyType1;
Что происходит при последнем присваивании: копируется Type1 в Type2, или у Type2 будет просто ссылаться на Type1?
Если это будет ссылка, то как избежать появления ссылки, сделать MyType2 независимым источником?
← →
homm © (2007-09-20 22:56) [1]вызывается @DunArrayAsg, а в нем, судя по количеству выплненых инструкций, копирование ссылки.
← →
homm © (2007-09-20 22:57) [2]В общем тебе классы нужны, с полной обработкой создания и уничтожения, и перекрытием Assign.
> var
> MyType1: TMyArrays;
> MyType2: TMyArrays;
Кстати, здесь ты наверное имел ввидуvar
MyType1: TMyType;
MyType2: TMyTypes;
← →
Anatoly Podgoretsky © (2007-09-20 23:03) [3]
> Что происходит при последнем присваивании: копируется Type1
> в Type2, или у Type2 будет просто ссылаться на Type1?
Копируется ссылка и увеличивается счетчик.
Для создания копии надо вручную копировать данные из структуры.
Подумай над [1]
← →
qadeveloper2 (2007-09-21 08:34) [4]Спасибо. Т.е. все же получается, что единственный способ сделать отдельную копию - это вручную?
Может и бред, а если запись объявить, как packed а потом сделать move для массива?
← →
qadeveloper2 (2007-09-21 08:52) [5]По поводу класса, не понял: что лучше сделать класс под хранение этой информации?
Страницы: 1 вся ветка
Текущий архив: 2007.10.14;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.025 c