|
|
Модератор форума: GUNNER161, Panikaha |
Форум РЕДАКТОР - ArmA 3 Вопрос - ответ Переменная или ссылка? |
Переменная или ссылка? |
› Пятница
› 14.03.2014
› 04:27
› Сообщение #
Код TestArr = [[1,2,3],[4,5,6],[7,8,9]]; _arr = TestArr select 1; _arr set [0,0]; _arr set [1,0]; _arr set [2,0]; Ожидание: Код TestArr = [[1,2,3],[4,5,6],[7,8,9]]; Результат: Код TestArr = [[1,2,3],[0,0,0],[7,8,9]]; Объясните мне, это что за нафик такой? Какого лешего _arr стала указателем на память переменной TestArr ???? Вообще откуда в Арме указатели?? о_О Причем неявные! По аналогии с C++ указатели должны как-то отделяться от переменных: Код int a = 5; int *b; b = &a; Вот это указатель на общую память, и обе "переменных" будут ее редактировать и у обоих будет меняться значение. И это нифига не равно этому: Код int a = 5; int b; b = a; Тут уже два разных адреса в памяти. В общем объясните что за фигня с армой? Это фича или баг? Если баг, то очень серьезный... А если фича, то как мне тогда без костылей вытащить массив в другую переменную (в другой адрес памяти)? |
› Пятница
› 14.03.2014
› 07:26
› Сообщение #
Так всегда было. ещё с ОФП
https://community.bistudio.com/wiki/Operators#Array_Operators TestArr = [[1,2,3],[4,5,6],[7,8,9]]; _arr = +(TestArr select 1); _arr set [0,0]; _arr set [1,0]; _arr set [2,0]; |
› Суббота
› 15.03.2014
› 14:46
› Сообщение #
Вон оно чего. Это только для массивов так работает. Благодарю!
|
| |||
| |||
Чат сайта |