PDA

Просмотр полной версии : Ссылки или указатели


Avrilka
18.12.2010, 10:16
Столкнулся с такой проблеммой.

У меня есть МС1 у него есть массив1 пусть будет а. Причем массив а получился а=с

а=с это передача указателей (из С (если я изменю в а измениться и в С))

вообщем мне надо эту связь разорвать.

и еще я читал что указателей в АС 2 нету. была одна функция eval() но она откинулась после того как появился класс аррей и ее минус в том что она передавала ссылку только на массив, а для простых переменных например К:Number = 5 она бы вернула 5 а не ссылку на К. Если есть похожее в АС 2 на указатель напишите пожалуйста


ПС такой метод обмена информации очень удобен для моего случая. Заранее спасибо

Psycho Tiger
18.12.2010, 13:18
a=c.slice();
У нас указатели "безопасные", потому носят имя ссылок.

Avrilka
18.12.2010, 15:36
то что вы написали это не указатель, это копирование массива. я знаю как это делается. указателем является
a=с или a=c[0]
где если измениться в а поменяется и в с это я и добиваюсь. У меня большой массив, и мне надо передать только 1 елемент из него в массив а. + все изменения в массиве а переходят в с.

Спросите зачем мне?
Вот вам ответ: а что если я не знаю где и как называется массив из которого формируется массив с. что если я не могу к нему обратиться потому что я просто не знаю его имени? можно записать путь к МС и его имя через глобальные переменные но это не красиво не удобно и вообще не круто!

udaaff
18.12.2010, 16:27
Сложные типы передаются только по ссылке. Хотите копию - копируйте.

Psycho Tiger
19.12.2010, 02:18
А простые - только по значению. Сделать поинтер не получится.

Avrilka
19.12.2010, 03:08
а наоборот как? как массивы передавать (НЕ КОПИРОВАНИЕМ) кроме как


var A:Array=[]
var C:Array=[]
A=C

???

udaaff
19.12.2010, 03:16
Вам уже ответили.