Сами объекты и ссылки на них
Друзья, поясните мне, пожалуйста, ещё один момент.
Столкнулся с такой ситуацией. Создаю в неком классе массив, наполняю какими-то элементами. Передаю в конструктор другого класса, которому поручено переписать все элементы полученного массива "к себе" и как-то с ними поработать, но (самое главное!) оставить в целости оригинальный массив, полученный из вне. Но вот такая запись: Код AS3:
P.S. Задачу пока что решил через цикл, который последовательно перебирает элементы полученного массива и записывает по одному во внутренний. В таком случае они действительно разными получаются. |
Да, это азы. Копируются только значения примитивных типов: Int, Uint, String, Number. Для любых объектов, коим является и массив, передаётся ссылка на объект.
Если ещё не читал Колина Мука - самое время :) |
Код AS3:
|
Tails, Wolsh, спасибо, исчерпывающе. Наверное я из-за примитивных типов и запутался, т.к. в основном применительно к ним подобное происходит: получили, скопировали, поработали с результатом.
|
|
Позволю себе добавить, что работа с типизированным списком Vector для широкого круга задач более рациональна.
https://help.adobe.com/ru_RU/as3/mob...c87b-7fff.html |
Цитата:
Ну это так, отступление, все равно он работает быстрее простого массива, видимо из-а отсутствия боксинга внутри. А я хотел здесь сказать, что для широкого круга задач, как раз рациональнее исползовать Array, потому, что с ним в коде работать проще. А Vector лучше использовать для узкого круга, где объектов нужно обрабатывать очень много и скорость играет важную роль |
Цитата:
Если для Array преимущество в гибкости(принимает любые типы), то для Vector в наглядности(известно, с каким типом работаем) |
Цитата:
|
Цитата:
И да, на практике у меня уже несколько раз получалось сначала забацать Array, а потом по мере упорядочивания процесса переводить его в Vector. |
Часовой пояс GMT +4, время: 22:04. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.