Имя: Пароль:
1C
1С v8
В чем принципиальная разница присвоения значения и его копирования?
,
0 svsrus
 
30.09.14
11:17
К примеру, есть список значений Список. Получить другой такой же список я могу двумя вариантами:
СписокНовый = Список;
СписокНовый = Список.Копировать();

В чем принципиальная разница между этими вариантами?
1 Галахад
 
гуру
30.09.14
11:18
Первый не новый, а тот же самый.
2 1Сергей
 
30.09.14
11:20
в первом случае список остается один и тот же. Изменяя в одной переменной, изменится и в другой
3 DmitrO
 
30.09.14
11:33
(0)что будет если так написать?
Список.Добавить(Список);
4 Ерепень
 
30.09.14
11:36
этот глист страдал глистами, что мучались глистами сами
5 Torquader
 
01.10.14
00:23
В переменной хранится ссылка на интерфейс к объекту, а не сам объект.
Когда мы просто копируем переменную, то мы копируем интерфейс, а объект остаётся тот же самый.
Когда мы делаем копию объекта, то создаётся другой объект и в новой переменной мы получаем интерфейс к новому объекту.

Для понимания можно представить хранение объекта в переменной как хранение номера ящика, в котором живёт объект.
Пусть в переменной записан номер ящика 28, тогда, когда мы копируем это значение в другую переменную, то номер ящика остаётся тот же самый, и при обращении к объекту система будет искать его в ящике 28. Когда же мы создаём копию объекта, то она будет жить в другом ящике, например, 32, так как 28 уже занят.
6 wormselfish
 
01.10.14
05:43
(0) Присвоение: Твой диск с порнухой присвоил твой друг.
Копирование: Твой друг скопировал у тебя твой диск с порнухой.
7 Torquader
 
01.10.14
16:10
(6) В данном случае, присвоение = перемещение.
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший