Kolyaj,
Что есть value переменной, если тип объектный? Стандарт этого не раскрывает, но раскрыли давно разработчики языков, там адрес/указатель/нечто... и это не отменяет того факта, что это нечто копируется, стандарт даже не подразумевает ничего другого.
Brendan Eich:
- value is a *reference* to the object, not the object itself;
- the only thing that's copied is a *reference* (a safe pointer, if you will) that uniquely addresses the object;
- v2 = v just copies the reference in v into v2, making both variables denote the same object;
Выше по ссылке есть ещё несколько цитат от разрабов языков.
|